98b1953d35f7ed2f86ff899ba8aaf67f9ef38d00
57284 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
98b1953d35 | fix(profilarr): update image ghcr.io/dictionarry-hub/profilarr 2.0.8 → 2.0.9 (#49426) | ||
|
|
dd771e2bc2 |
feat(local-ai): update image docker.io/localai/localai v4.4.3 → v4.5.0 (#49427)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/localai/localai](https://redirect.github.com/mudler/LocalAI) | minor | `1aeb407` → `5e25cb8` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>mudler/LocalAI (docker.io/localai/localai)</summary> ### [`v4.5.0`](https://redirect.github.com/mudler/LocalAI/releases/tag/v4.5.0) [Compare Source](https://redirect.github.com/mudler/LocalAI/compare/v4.4.3...v4.5.0) ### 🎉 LocalAI 4.5.0 Release! 🚀 <h1 align="center"> <br> <img height="300" src="https://raw.githubusercontent.com/mudler/LocalAI/refs/heads/master/core/http/static/logo.png"> <br> <br> </h1> LocalAI 4.5.0 is out! This release widens what LocalAI can perceive, sharpens the realtime voice API, and makes multi-user serving fast with zero configuration. Four new backends land, the React UI redesign ships in full, and distributed mode gets a robustness pass. **Highlights:** - 👁️ **See depth** - new `depth-anything` backend (Depth Anything 3): monocular metric depth + camera pose, with a typed `Depth` RPC and `POST /v1/depth`. - 🔊 **Hear events** - new `ced` backend tags 527 AudioSet sound classes (baby cry, glass breaking, alarms) over REST and a VAD-decoupled realtime stream. - 🗣️ **Speak on-device** - new `supertonic` ONNX TTS backend: multilingual, espeak-free, fast cold start. - 🛡️ **Filter PII with NER** - new `privacy-filter.cpp` engine adds named-entity token classification alongside a regex secret detector. - 🎙️ **Smarter realtime** - sessions become speaker-aware (identity surfaced to the client *and* the LLM) and stay cheap on long calls through summarize-then-drop compaction. - ⚙️ **Concurrent by default** - prefix caching, Blackwell-tuned batch sizes, and VRAM-scaled concurrency turn continuous batching on without any config. - 🖼️ **A redesigned UI** - the UX overhaul lands end to end, while we keep improving user experience release after release. Plus model aliases, word-level ASR timestamps, self-contained Vulkan backends, ds4 SSD streaming for 128 GB-class models, hardened distributed staging, and a broad set of fixes. <p align="center"> <img width="2880" height="1800" alt="ui-home" src="https://github.com/user-attachments/assets/7ef1eedc-bb2e-4a8f-8e45-81bd94e8c393" /> <br> <em>The redesigned Home: console with a built-in assistant and chat.</em> </p> *** #### 📌 TL;DR | Area | Summary | | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | 👁️ **Depth perception** | New `depth-anything` C++/ggml backend (Depth Anything 3) - metric depth + camera pose, typed `Depth` RPC + `POST /v1/depth`, 8 GGUFs. Plus Depth Anything **V2** gallery models. | | 🔊 **Sound-event tagging** | New `ced` backend (CED AudioSet tagger, 527 classes) - `POST /v1/audio/classification` + **VAD-decoupled realtime** sound detection. | | 🗣️ **On-device TTS** | New `supertonic` ONNX backend - multilingual, **no espeak/G2P**, 10 voices, fast cold start (CPU). | | 🛡️ **PII gets a NER tier** | New `privacy-filter.cpp` backend - encoder/NER token classification scanning whole conversations, alongside a restricted-regex secret detector; NER-centric PII editor in the UI. | | 🎙️ **Smarter realtime** | **Speaker-aware** conversations (identity → client *and* LLM), **conversation compaction** (summarize-then-drop), and OpenAI `item.delete` / `item.truncate` / `input_audio_buffer.clear`. | | ⚙️ **Multi-user serving by default** | **Prefix caching on by default**, **Blackwell batch** (2048), **VRAM-scaled `n_parallel`** (continuous batching on out of the box) - concurrent throughput with no KV blow-up. | | 🔀 **Model aliases** | Redirect/rename a model name to another configured model, swappable live, no client reconfig. | | ⏱️ **Word-level ASR timestamps** | NeMo + CrispASR word timestamps, plumbed through the gRPC transcription path. | | 🖼️ **The UI, redesigned** | A calmer, sharper interface lands end to end: new design language, shell/nav, ops/admin data-viz, sortable/mobile tables, unsaved-changes guards, restructured Cluster Nodes. | | 🛰️ **Distributed staging hardened** | Cold-load staging detached from the request context (large models actually finish), staging progress broadcast across replicas, resumable downloader. | *** #### 🚀 New Features & Major Enhancements ##### 👁️ Depth Perception: `depth-anything` A new native Go gRPC backend ([#​10352](https://redirect.github.com/mudler/LocalAI/issues/10352)) dlopens [depth-anything.cpp](https://redirect.github.com/mudler/depth-anything.cpp) (a ggml port of **Depth Anything 3**) via **purego** - **no Python at inference** - for monocular **metric depth + camera pose** estimation on CPU. Depth has no native OpenAI endpoint, so the model is exposed three ways: - A typed **`Depth` gRPC RPC + `POST /v1/depth`** that returns the full output surface (depth map, stats, camera extrinsics 3×4 / intrinsics 3×3). - **`GenerateImage(src, dst)`** writes a min-max-normalized grayscale depth PNG. - **`Predict`** returns the depth + pose JSON blob. Eight **Depth Anything 3** GGUFs ship at [`mudler/depth-anything.cpp-gguf`](https://huggingface.co/mudler/depth-anything.cpp-gguf) (base/small/large/giant + a monocular `mono-large`, q4\_k/q8\_0/f16/f32), with per-CPU-variant self-contained `.so` builds and the full hardware matrix (cpu, cuda12/13, intel-sycl, vulkan, l4t-arm64). This cycle also adds **Depth Anything V2** gallery models ([#​10413](https://redirect.github.com/mudler/LocalAI/issues/10413), native version bump) and **metric-large + nested metric** entries ([#​10363](https://redirect.github.com/mudler/LocalAI/issues/10363)). > 🔗 PRs: [#​10352](https://redirect.github.com/mudler/LocalAI/issues/10352), [#​10413](https://redirect.github.com/mudler/LocalAI/issues/10413), [#​10363](https://redirect.github.com/mudler/LocalAI/issues/10363). *** ##### 🔊 Sound-Event Classification: `ced` A new backend ([#​10425](https://redirect.github.com/mudler/LocalAI/issues/10425)) backed by [ced.cpp](https://redirect.github.com/mudler/ced.cpp) - a C++/ggml port of **CED** (Xiaomi), a 527-class [AudioSet](https://research.google.com/audioset/) tagger (baby cry, footsteps, glass breaking, alarms, dog bark...) with **full PyTorch parity** (f32 e2e 1.7e-7) and Apache-2.0 weights. CPU perf: f16 is \~1.55× faster than the PyTorch reference (\~100× realtime), q8\_0 uses 6.5× less memory. - **REST**: `POST /v1/audio/classification` (fully capability-registered: swagger, `/api/instructions`, auth feature, React `capabilities.js`, docs). - **Realtime**: opt-in `pipeline.sound_detection` emits `conversation.item.sound_detection` events, **decoupled from VAD** (a sound-only session runs with `turn_detection: none`, activating on sounds not speech), with client-driven or server-side windowing. - **Gallery**: 8 entries (`ced-{base,tiny,mini,small}-{f16,q8}`, 6 MB → 86 MB) at [`mudler/ced-gguf`](https://huggingface.co/mudler/ced-gguf). > 🔗 PR: [#​10425](https://redirect.github.com/mudler/LocalAI/issues/10425). *** ##### 🗣️ On-Device TTS: `supertonic` A new native Go gRPC TTS backend ([#​10342](https://redirect.github.com/mudler/LocalAI/issues/10342)) runs [Supertone's](https://redirect.github.com/supertone-inc/supertonic) `supertonic-3` flow-matching model (4 ONNX graphs) via ONNX Runtime - **no Python, no espeak-ng / G2P** (text preprocessing is NFKD + a Unicode-codepoint→token-id lookup). Upstream's MIT Go pipeline is vendored at a pinned commit and driven from a LocalAI gRPC server, mirroring `sherpa-onnx`'s ONNX-runtime bundling - small image, fast cold start. Ships a `supertonic-3` gallery entry (4 ONNX + 10 voice styles F1-F5/M1-M5, SHA256-pinned), with `voice` / `language` request mapping and `steps`/`speed`/`silence` knobs. CPU-only in this release; CUDA wiring is scaffolded for a follow-up. > 🔗 PR: [#​10342](https://redirect.github.com/mudler/LocalAI/issues/10342). *** ##### 🛡️ PII Filtering Gets a NER Tier: `privacy-filter.cpp` PII filtering moves off the patched llama.cpp `TokenClassify` path onto a new standalone GGML backend, **`privacy-filter.cpp`** ([#​10360](https://redirect.github.com/mudler/LocalAI/issues/10360)), serving OpenAI Privacy Filter NER token-classification models (CPU/CUDA/Vulkan). The filter is reworked to be **NER-centric** - an encoder/NER detection tier scans whole conversations as a single document - **alongside** a bounded restricted-regex secret-matching detector tier. Detections are labelled by source (`ner` vs `pattern`) with backend trace / confidence / debug observability, `analyze`/`redact` exposed as a synchronous API, and request filtering extended to **completions, embeddings, edits and Ollama**. The React UI gains a NER-centric PII editor, detector-models table, and middleware default-policy controls; the gallery gets a `privacy-filter-multilingual` token-classify model + an `/import-model` auto-detect importer. A post-merge pass ([#​10401](https://redirect.github.com/mudler/LocalAI/issues/10401)) added live NER e2e coverage and review fixes. > 🔗 PRs: [#​10360](https://redirect.github.com/mudler/LocalAI/issues/10360), [#​10401](https://redirect.github.com/mudler/LocalAI/issues/10401). *** ##### 🎙️ Realtime Voice: Speaker-Aware and Self-Compacting **Speaker-aware conversations ([#​10424](https://redirect.github.com/mudler/LocalAI/issues/10424)).** The realtime voice-recognition gate now **surfaces the recognized speaker** to the client (a new `conversation.item.speaker` event - a non-breaking LocalAI extension) **and feeds identity to the LLM** for personalized replies (per-message OpenAI `name` field and/or a `The current speaker is <Name>.` system note). New `pipeline.voice_recognition` keys decouple surfacing from authorization: `enforce: false` resolves and surfaces a speaker **without ever dropping a turn**, while the gate still fails closed when enforcing. Multi-speaker histories stay correctly attributed (each user item carries its own speaker). **Conversation compaction - summarize-then-drop ([#​10446](https://redirect.github.com/mudler/LocalAI/issues/10446)).** Long realtime sessions used to either feed the whole growing buffer to the LLM (expensive on CPU as it grows) or silently forget old turns. Now the server can fold aged-out turns into a **rolling summary** instead, via an async, post-turn **snapshot → summarize → commit** compactor that never holds the conversation lock across the summarizer call and never evicts items without a summary replacing them. Plus the OpenAI-parity history events that were missing: **`conversation.item.delete`**, **`conversation.item.truncate`**, **`input_audio_buffer.clear`**. ```yaml pipeline: max_history_items: 6 # live window - recent turns kept verbatim compaction: enabled: true trigger_items: 12 # high-water mark; summarize overflow back down summary_model: "" # optional small/cheap CPU model; default = pipeline LLM max_summary_tokens: 512 ``` Also: configurable `pipeline.max_history_items` ([#​10331](https://redirect.github.com/mudler/LocalAI/issues/10331)) and a WebRTC data-channel max-message-size raise + keep-alive fix ([#​10407](https://redirect.github.com/mudler/LocalAI/issues/10407)). > 🔗 PRs: [#​10424](https://redirect.github.com/mudler/LocalAI/issues/10424), [#​10446](https://redirect.github.com/mudler/LocalAI/issues/10446), [#​10331](https://redirect.github.com/mudler/LocalAI/issues/10331), [#​10407](https://redirect.github.com/mudler/LocalAI/issues/10407). *** ##### ⚙️ Multi-User Serving, On by Default Two related, **config-only (no kernel)** changes make concurrent serving fast without any tuning. Both **only fill values the user left unset** - explicit config always wins. **Hardware-tuned defaults ([#​10411](https://redirect.github.com/mudler/LocalAI/issues/10411)).** When `batch:` is unset, default `n_batch`/`n_ubatch` to **2048** on NVIDIA Blackwell consumer GPUs (sm\_120/121, incl. **GB10 / DGX Spark**) for a higher prefill ceiling. More importantly, the llama.cpp backend ships `n_parallel = 1`, which **serializes concurrent requests and leaves continuous batching off** - so multi-user serving was effectively disabled. This folds in a **VRAM-scaled parallel-slot default**: | VRAM | parallel slots | | ----------------- | -------------- | | ≥ 32 GiB | 8 | | ≥ 8 GiB | 4 | | ≥ 4 GiB | 2 | | < 4 GiB / unknown | 1 (unchanged) | Because the unified KV cache makes slots **share** the context budget, this is concurrency **without multiplying KV memory**. Works for both single-host (`LocalGPU()`) and distributed (the worker reports compute capability + VRAM on registration, and the router re-applies the heuristics for the selected node). **Prefix caching on by default ([#​10415](https://redirect.github.com/mudler/LocalAI/issues/10415)).** The backend ships `n_cache_reuse = 0` (cross-request KV prefix reuse disabled). This enables it by default (256), so **system prompts, RAG context, agent scaffolds and multi-turn chat** aren't recomputed every request - a TTFT + throughput win for shared-prefix workloads, no-op for unique prompts. Same PR consolidates `SetDefaults` into clean domain-grouped tiers (`ApplyInferenceDefaults` / `ApplyHardwareDefaults` / `ApplyServingDefaults` / `ApplyGenericDefaults`), completed by a single-source-of-truth defaults refactor ([#​10418](https://redirect.github.com/mudler/LocalAI/issues/10418)). > 🔗 PRs: [#​10411](https://redirect.github.com/mudler/LocalAI/issues/10411), [#​10415](https://redirect.github.com/mudler/LocalAI/issues/10415), [#​10418](https://redirect.github.com/mudler/LocalAI/issues/10418). *** ##### 🔀 Model Aliases A new `alias:` field ([#​10414](https://redirect.github.com/mudler/LocalAI/issues/10414)) makes a model config transparently route all its traffic to **another configured model**, so operators can rename or redirect a model **without reconfiguring any clients** - and swap the target live. ```yaml name: gpt-4 alias: my-llama-3 ``` 1:1 and runtime-swappable; strict (target must be an existing, enabled, non-alias model; alias→alias chains are rejected at load, request and create/swap time). Both names appear in `GET /v1/models`, usage accounting records `requested=alias` / `served=target`, and resolution lives in the universal request middleware so **all modalities** (chat, completions, embeddings, audio, images) inherit it - including composition with the Router. > 🔗 PR: [#​10414](https://redirect.github.com/mudler/LocalAI/issues/10414). *** ##### ⏱️ Word-Level ASR Timestamps, Everywhere - **NeMo word-level timestamps ([#​10297](https://redirect.github.com/mudler/LocalAI/issues/10297))** for ASR models. - **CrispASR word-level timestamps ([#​10403](https://redirect.github.com/mudler/LocalAI/issues/10403))**, with the gRPC `AudioTranscription` wrapper now **forwarding word timestamps** end to end ([#​10402](https://redirect.github.com/mudler/LocalAI/issues/10402)) and a filter for garbage words on the parakeet path ([#​10421](https://redirect.github.com/mudler/LocalAI/issues/10421)). > 🔗 PRs: [#​10297](https://redirect.github.com/mudler/LocalAI/issues/10297), [#​10403](https://redirect.github.com/mudler/LocalAI/issues/10403), [#​10402](https://redirect.github.com/mudler/LocalAI/issues/10402), [#​10421](https://redirect.github.com/mudler/LocalAI/issues/10421). *** ##### 🧰 vLLM, ds4, Vulkan & Watchdog - **vLLM progressive tool-call streaming ([#​10351](https://redirect.github.com/mudler/LocalAI/issues/10351))** via `parser.extract_tool_calls_streaming` (follow-up to [#​10346](https://redirect.github.com/mudler/LocalAI/issues/10346)), plus a fix for **structured outputs silently ignored on vLLM ≥ 0.23** (`GuidedDecodingParams` removed upstream) ([#​10343](https://redirect.github.com/mudler/LocalAI/issues/10343)). - **ds4 SSD streaming + quality knobs ([#​10374](https://redirect.github.com/mudler/LocalAI/issues/10374)).** ds4's engine options are now reachable from model YAML through a declarative table - including **SSD streaming** (run a model larger than RAM by streaming routed MoE experts off the GGUF), so the 153 GB DeepSeek Flash quant runs on a 128 GB machine. Adds 128 GB-class DeepSeek gallery models. - **Self-contained Vulkan backends ([#​10404](https://redirect.github.com/mudler/LocalAI/issues/10404)).** Vulkan backends now bundle their Mesa ICD driver `.so` + deps (rewriting `library_path` to bare sonames), so you can mix a CPU/native/Intel core image with a Vulkan backend and actually get the GPU instead of a silent CPU fallback. - **Size-aware watchdog eviction ([#​9527](https://redirect.github.com/mudler/LocalAI/issues/9527)).** Opt-in mode evicts the **largest** resident model first (LRU as tiebreaker) instead of strict LRU, so a tiny embedding model isn't dropped while a 13 GB chat model stays put. `--size-aware-eviction` / `LOCALAI_SIZE_AWARE_EVICTION`, live-reloadable via `POST /api/settings`. > 🔗 PRs: [#​10351](https://redirect.github.com/mudler/LocalAI/issues/10351), [#​10343](https://redirect.github.com/mudler/LocalAI/issues/10343), [#​10374](https://redirect.github.com/mudler/LocalAI/issues/10374), [#​10404](https://redirect.github.com/mudler/LocalAI/issues/10404), [#​9527](https://redirect.github.com/mudler/LocalAI/issues/9527). *** ##### 🖼️ A Calmer, Sharper Interface The React UI (`core/http/react-ui`) gets a top-to-bottom redesign this cycle - a calmer, more editorial look with the rough edges sanded off: - **Design language + shell/nav + conversation/canvas ([#​10390](https://redirect.github.com/mudler/LocalAI/issues/10390)).** Keeps the Nord identity with a calmer, editorial, all-sans point of view: typography v2 (Geist), un-overloaded accent semantics (tint-only active nav, single AA focus ring), orchestrated page-reveal motion (reduced-motion safe), reusable primitives (`PageHeader`, `SectionHeading`, `EmptyState`, `Skeleton`, `StatusPill`), a rebuilt Home landing page, and `PageHeader` rolled across all \~29 pages with a navigation scroll-reset fix. - **Ops/admin data-viz + tables ([#​10398](https://redirect.github.com/mudler/LocalAI/issues/10398)).** Distinct hues for prompt vs completion in usage charts, sortable accessible admin tables (users/traces), a `ResponsiveTable` that reflows into label/value cards on mobile, and an `UnsavedChangesGuard` protecting Settings / Agent / Fine-Tuning forms. 195/195 Playwright specs green. - **Restructured Cluster Nodes ([#​10447](https://redirect.github.com/mudler/LocalAI/issues/10447)).** A calm one-line `ClusterPulse` header + conditional attention callout replace the metric-card grid; a `NodePanel` roster shows per-node models **without a click** (new `GET /api/nodes/models`); a deep-linkable `/app/nodes/:id` detail page replaces nested table drawers; Scheduling moves to its own `/app/scheduling` page. `Nodes.jsx` drops from \~1743 to \~360 lines. <p align="center"> <img width="2880" height="1800" alt="ui-chat" src="https://github.com/user-attachments/assets/da1038a4-4417-49b5-b7aa-e7c9cc26a767" /> <img width="2880" height="1800" alt="ui-system" src="https://github.com/user-attachments/assets/24c06123-341a-488f-a6d1-01b910dd9c60" /> <br> <em>Left: the conversation canvas. Right: the Operate console (system resources, sortable model tables).</em> </p> - **More:** localized model strings + "Import" typo fix (#​10341), paste images from the clipboard into chat (#​10428), and console-based navigation + a drop-in API endpoint section (#​10377). > 🔗 PRs: [#​10390](https://redirect.github.com/mudler/LocalAI/issues/10390), [#​10398](https://redirect.github.com/mudler/LocalAI/issues/10398), [#​10447](https://redirect.github.com/mudler/LocalAI/issues/10447), [#​10341](https://redirect.github.com/mudler/LocalAI/issues/10341), [#​10428](https://redirect.github.com/mudler/LocalAI/issues/10428), [#​10377](https://redirect.github.com/mudler/LocalAI/issues/10377). *** ##### 🛰️ Distributed Staging Robustness - **Detach cold-load staging from the request context ([#​10438](https://redirect.github.com/mudler/LocalAI/issues/10438)).** A model staged lazily on the inference path was bound to the triggering request's context, so a browser refresh, LB idle-timeout, or round-robined retry **cancelled multi-GB uploads mid-transfer** - large models never finished staging. Cold loads now run on `context.WithoutCancel(ctx)` (keeping request values, dropping cancellation), each long step keeping its own bound. - **Broadcast staging progress across replicas ([#​10440](https://redirect.github.com/mudler/LocalAI/issues/10440)).** Staging progress lived only in the originating replica's in-memory tracker, so the progress line **flickered** as `/api/operations` polls rotated between frontends. Now mirrored over NATS (`staging.<model>.progress`) with leading-edge debounce, TTL'd remote ops, and locally-owned ops staying authoritative - the same pattern as gallery-install progress. - **Persist cancellable ops ([#​10454](https://redirect.github.com/mudler/LocalAI/issues/10454))** so restarted in-flight gallery operations stay cancellable (with the e2e `UpdateProgress` signature updated in [#​10460](https://redirect.github.com/mudler/LocalAI/issues/10460)), plus staging of **backend companion assets** to remote nodes ([#​10330](https://redirect.github.com/mudler/LocalAI/issues/10330)). - **Resumable, self-healing downloader ([#​10406](https://redirect.github.com/mudler/LocalAI/issues/10406)).** Big GGUF installs on slow/flaky links no longer hang forever or leak disk: a **stall timeout** (`DownloadStallTimeout`, 60s) turns an indefinite hang into a fast retryable error, cancellation **keeps the `.partial`** so the next attempt resumes via `Range`, and stale partials older than 24h are reaped on startup. > 🔗 PRs: [#​10438](https://redirect.github.com/mudler/LocalAI/issues/10438), [#​10440](https://redirect.github.com/mudler/LocalAI/issues/10440), [#​10454](https://redirect.github.com/mudler/LocalAI/issues/10454), [#​10460](https://redirect.github.com/mudler/LocalAI/issues/10460), [#​10330](https://redirect.github.com/mudler/LocalAI/issues/10330), [#​10406](https://redirect.github.com/mudler/LocalAI/issues/10406). *** ##### 🧩 Other Enhancements - **Generic `chat_template_kwargs` ([#​10359](https://redirect.github.com/mudler/LocalAI/issues/10359)).** Pass arbitrary jinja chat-template variables (e.g. Qwen3's `preserve_thinking`) from model YAML (`chat_template_kwargs:`) or per-request via the OpenAI `metadata` field - no more hardcoded template levers in `grpc-server.cpp`. (Closes [#​10329](https://redirect.github.com/mudler/LocalAI/issues/10329).) - **LocalAI User-Agent on registry pulls ([#​10434](https://redirect.github.com/mudler/LocalAI/issues/10434)).** OCI registry, Ollama registry and OCI blob pulls now identify themselves as `LocalAI/<version>` (via a new `oci.UserAgent()` helper) so operators can attribute traffic. (Implements [#​6258](https://redirect.github.com/mudler/LocalAI/issues/6258).) - **More gallery voices ([#​10332](https://redirect.github.com/mudler/LocalAI/issues/10332)):** all Italian + all UK English sherpa-onnx Piper voices, and a fresh run of gallery-agent model additions + checksum refreshes. *** #### 🐛 Bug Fixes (recap) - 🛰️ `fix(distributed): detach cold-load staging from the request context` - [#​10438](https://redirect.github.com/mudler/LocalAI/issues/10438) - 🛰️ `fix(distributed): broadcast file-staging progress across replicas` - [#​10440](https://redirect.github.com/mudler/LocalAI/issues/10440) - 🛰️ `fix(distributed): stage backend companion assets to remote nodes` - [#​10330](https://redirect.github.com/mudler/LocalAI/issues/10330) - 📦 `fix(galleryop): persist cancellable so restarted in-flight ops stay cancellable` - [#​10454](https://redirect.github.com/mudler/LocalAI/issues/10454) - ⬇️ `fix(downloader): stall timeout, resume-safe cancel, and stale-partial reaping` - [#​10406](https://redirect.github.com/mudler/LocalAI/issues/10406) - 🧰 `fix(vllm): structured outputs silently ignored on vLLM >= 0.23 (GuidedDecodingParams removed)` - [#​10343](https://redirect.github.com/mudler/LocalAI/issues/10343) - ⏱️ `fix(grpc): forward word-level timestamps in AudioTranscription wrapper` - [#​10402](https://redirect.github.com/mudler/LocalAI/issues/10402) - 🎙️ `fix(crispasr): filter garbage words from parakeet word-level timestamps` - [#​10421](https://redirect.github.com/mudler/LocalAI/issues/10421) - 🎙️ `fix(whisperx): use whisperx.diarize.DiarizationPipeline with token kwarg` - [#​10389](https://redirect.github.com/mudler/LocalAI/issues/10389) - 🧮 `fix(diffusers): pin diffusers and transformers to a known-good pair` - [#​10442](https://redirect.github.com/mudler/LocalAI/issues/10442) - 🏋️ `fix: the trl backend's _do_training method directly initializes the trainer` - [#​10422](https://redirect.github.com/mudler/LocalAI/issues/10422) - 🔊 `fix(realtime): raise WebRTC data-channel max-message-size + keep sendLoop alive` - [#​10407](https://redirect.github.com/mudler/LocalAI/issues/10407) - ⚙️ `fix(settings): merge partial /api/settings updates instead of overwriting` - [#​10463](https://redirect.github.com/mudler/LocalAI/issues/10463) - 🐕 `fix(settings): start watchdog on cold-enable from the React UI` - [#​10287](https://redirect.github.com/mudler/LocalAI/issues/10287) - 🪟 `fix(ui): keep row action menu anchored and stop scroll snap on /app/manage` - [#​10419](https://redirect.github.com/mudler/LocalAI/issues/10419) - 🪟 `fix(react-ui): restore sidebar collapse in dev + stop Talk page auto-scroll` - [#​10383](https://redirect.github.com/mudler/LocalAI/issues/10383) - 🚀 `fix(launcher): truncate download status labels to stop progress dialog blowout` - [#​10357](https://redirect.github.com/mudler/LocalAI/issues/10357) - 🧊 `fix(backend): call vram.EstimateModelMultiContext (master build broken)` - [#​10426](https://redirect.github.com/mudler/LocalAI/issues/10426) - ❄️ `fix(nix flake): ensure nix flake builds successfully` - [#​10399](https://redirect.github.com/mudler/LocalAI/issues/10399) - 🧠 `fix(gallery): hide broken Gemma 4 QAT MTP entries` - [#​10348](https://redirect.github.com/mudler/LocalAI/issues/10348) *** #### 👒 Dependencies Another steady bump cycle across submodules and Go/Python deps: - **`ggml-org/llama.cpp`**: 7 bumps · **`ikawrakow/ik_llama.cpp`**: 7 bumps - **`ggml-org/whisper.cpp`**: 5 bumps · **`leejet/stable-diffusion.cpp`**: 5 bumps - **`antirez/ds4`**: 3 bumps · **`mudler/parakeet.cpp`**: 2 bumps · **`CrispStrobe/CrispASR`**: 2 bumps · **`ServeurpersoCom/qwentts.cpp`**: 2 bumps - **`ServeurpersoCom/omnivoice.cpp`**: 1 bump · **`localai-org/privacy-filter.cpp`**: 1 bump - **Python**: `grpcio` 1.81.0→1.81.1 (vllm) - **CI actions**: `actions/checkout` 6→7 - **LocalRecall** bump (fixes PostgreSQL collection name with `:`) - **Model gallery**: 11 gallery-agent model additions + checksum refreshes *** #### 📖 Documentation - `docs: document all available backends and add "built by us" list` - [#​10376](https://redirect.github.com/mudler/LocalAI/issues/10376) - `docs: document the privacy-filter.cpp backend` - [#​10386](https://redirect.github.com/mudler/LocalAI/issues/10386) - `docs: mention apex-quant in the README` - [#​10412](https://redirect.github.com/mudler/LocalAI/issues/10412) - `docs: add translated README links` - [#​10353](https://redirect.github.com/mudler/LocalAI/issues/10353) - `fix(docs): use relearn notice shortcode instead of unsupported alert` - [#​10364](https://redirect.github.com/mudler/LocalAI/issues/10364) - `docs: update docs version` - [#​10333](https://redirect.github.com/mudler/LocalAI/issues/10333) - Inline docs folded into the feature PRs above (depth, ced, supertonic, PII NER, realtime speaker/compaction, serving defaults, model aliases). *** #### 🙌 New Contributors - [@​vjsai](https://redirect.github.com/vjsai) made their first contribution in [#​10434](https://redirect.github.com/mudler/LocalAI/pull/10434) - [@​SuperMarioYL](https://redirect.github.com/SuperMarioYL) made their first contribution in [#​9527](https://redirect.github.com/mudler/LocalAI/pull/9527) - [@​Souheab](https://redirect.github.com/Souheab) made their first contribution in [#​10399](https://redirect.github.com/mudler/LocalAI/pull/10399) - [@​dowithless](https://redirect.github.com/dowithless) made their first contribution in [#​10353](https://redirect.github.com/mudler/LocalAI/pull/10353) Enjoy! *** **Full Changelog**: <https://github.com/mudler/LocalAI/compare/v4.4.3...v4.5.0> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9sb2NhbC1haSIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvbWlub3IiXX0=--> |
||
|
|
6a202c77f4 |
fix(helm-deps): update chart mongodb 17.4.3 → 17.4.4 (#49423)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [mongodb](https://truecharts.org/charts/stable/mongodb) ([source](https://redirect.github.com/bitnami/bitnami-docker-mongodb)) | patch | `17.4.3` → `17.4.4` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC95b3V0dWJlZGwtbWF0ZXJpYWwiLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19--> |
||
|
|
ebe090fdf4 |
fix(fluidd): update image ghcr.io/fluidd-core/fluidd v1.37.1 → v1.37.2 (#49421)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/fluidd-core/fluidd](https://redirect.github.com/fluidd-core/fluidd) | patch | `5e3c6af` → `b31307e` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>fluidd-core/fluidd (ghcr.io/fluidd-core/fluidd)</summary> ### [`v1.37.2`](https://redirect.github.com/fluidd-core/fluidd/releases/tag/v1.37.2) [Compare Source](https://redirect.github.com/fluidd-core/fluidd/compare/v1.37.1...v1.37.2) ##### Features - adds Moonraker sensor charts ([#​1885](https://redirect.github.com/fluidd-core/fluidd/issues/1885)) ([c199394](https://redirect.github.com/fluidd-core/fluidd/commit/c1993948043461d3bb323e89fd7dffcf6bef63fd)) - adds support for Moonraker file roots details ([#​1881](https://redirect.github.com/fluidd-core/fluidd/issues/1881)) ([ea60d78](https://redirect.github.com/fluidd-core/fluidd/commit/ea60d782b326f5bd0477e6394de7f259f30ebe32)) - **afc:** Enhance Spoolman integration ([#​1860](https://redirect.github.com/fluidd-core/fluidd/issues/1860)) ([85e105f](https://redirect.github.com/fluidd-core/fluidd/commit/85e105f08ddcab28c7a25f811eb81d5b2d003640)) - **i18n-en:** Update English translations ([e6c59ff](https://redirect.github.com/fluidd-core/fluidd/commit/e6c59ffa7fdfac0f015ab352d3f49d2e34ca94e9)) - **i18n-pl:** Update Polish translations ([4d58074](https://redirect.github.com/fluidd-core/fluidd/commit/4d580743d256c9da926fac58ff6cfff2f956d6e9)) - linkExternalUrls to use GFM-style detection ([#​1879](https://redirect.github.com/fluidd-core/fluidd/issues/1879)) ([7c6e164](https://redirect.github.com/fluidd-core/fluidd/commit/7c6e164332da58b2994b7f2580543975485b8a5c)) - **Thermals:** customizable sensor colors ([#​1871](https://redirect.github.com/fluidd-core/fluidd/issues/1871)) ([065d728](https://redirect.github.com/fluidd-core/fluidd/commit/065d728e070c9a4551cf4973db74b30d472ca479)) - warn of very old Moonraker ([#​1870](https://redirect.github.com/fluidd-core/fluidd/issues/1870)) ([efdcdc5](https://redirect.github.com/fluidd-core/fluidd/commit/efdcdc59a4206f7601c3481f302e2ef7916d0826)) ##### Bug Fixes - add rel=noopener to target=\_blank links ([#​1880](https://redirect.github.com/fluidd-core/fluidd/issues/1880)) ([f80d943](https://redirect.github.com/fluidd-core/fluidd/commit/f80d943e8db6f2db5d4552310e2ac8a54ffe61ab)) - correct color for selected tool ([#​1865](https://redirect.github.com/fluidd-core/fluidd/issues/1865)) ([fe41a43](https://redirect.github.com/fluidd-core/fluidd/commit/fe41a43353d06b73b984e08784ae563f3bba857c)) - split update check from notifications ([#​1887](https://redirect.github.com/fluidd-core/fluidd/issues/1887)) ([a9da915](https://redirect.github.com/fluidd-core/fluidd/commit/a9da9152fce6395ba0b66d7a924b8812bad3ba9f)) - **Thermals:** sensor sort order anomalies ([#​1868](https://redirect.github.com/fluidd-core/fluidd/issues/1868)) ([95f26a3](https://redirect.github.com/fluidd-core/fluidd/commit/95f26a31162f25b0abdfdb11622dac2a7fbd8f22)) ##### Code Refactorings - add AppInlineChart component ([#​1889](https://redirect.github.com/fluidd-core/fluidd/issues/1889)) ([1f87be8](https://redirect.github.com/fluidd-core/fluidd/commit/1f87be86c3236f35671f651f0af9a3cb13bb4c5b)) - adds SocketError type guard ([166ca96](https://redirect.github.com/fluidd-core/fluidd/commit/166ca96efd219dc1236fb51475e4c5d874d71f5d)) - drop redundant console sanitize ([#​1890](https://redirect.github.com/fluidd-core/fluidd/issues/1890)) ([40f9932](https://redirect.github.com/fluidd-core/fluidd/commit/40f9932159d7d511cc443449807ebef3350cf250)) - e-charts imperative model ([#​1888](https://redirect.github.com/fluidd-core/fluidd/issues/1888)) ([0678636](https://redirect.github.com/fluidd-core/fluidd/commit/06786362805ad440891517aa7b3c9af1330b1235)) - enforce printer state immutability ([#​1874](https://redirect.github.com/fluidd-core/fluidd/issues/1874)) ([d978cac](https://redirect.github.com/fluidd-core/fluidd/commit/d978cacfea2a2bdd02fb2267e7767d14881290b7)) - freeze immutable entries ([#​1875](https://redirect.github.com/fluidd-core/fluidd/issues/1875)) ([f2c6c8b](https://redirect.github.com/fluidd-core/fluidd/commit/f2c6c8bc121a8a37e85287b1e89525f3ae27ad6c)) - **GcodePreview:** auto-zoom without cropping ([#​1867](https://redirect.github.com/fluidd-core/fluidd/issues/1867)) ([85fee0a](https://redirect.github.com/fluidd-core/fluidd/commit/85fee0afe269b1c6118b586f04c22965104f1333)) - improve default options handling ([c0f5967](https://redirect.github.com/fluidd-core/fluidd/commit/c0f596718f2d5634cabf9def4c7bc1131673b61c)) - logout notification handling ([#​1882](https://redirect.github.com/fluidd-core/fluidd/issues/1882)) ([6f4d60a](https://redirect.github.com/fluidd-core/fluidd/commit/6f4d60a54fc8e6e4a1d0eec2b7a1e12b0146799a)) - replace requests array with Map ([0a23099](https://redirect.github.com/fluidd-core/fluidd/commit/0a23099a40e4255e056c4eedd8d0f7b8a548db82)) - sandboxedEval context support ([#​1873](https://redirect.github.com/fluidd-core/fluidd/issues/1873)) ([804d1a8](https://redirect.github.com/fluidd-core/fluidd/commit/804d1a8162cbedf30c7da5c8a68ff01be539a5b3)) - type store action/mutation payloads ([#​1877](https://redirect.github.com/fluidd-core/fluidd/issues/1877)) ([9719797](https://redirect.github.com/fluidd-core/fluidd/commit/9719797342fcc1369f77e0d322ffd36450a2dee7)) - typing improvements ([5c4ec6e](https://redirect.github.com/fluidd-core/fluidd/commit/5c4ec6ecc683632080a8d28ea4541017fd6aecca)) - typing improvements ([d7c08e1](https://redirect.github.com/fluidd-core/fluidd/commit/d7c08e148925dbec0b88ef435b65581b7d583847)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9mbHVpZGQiLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19--> |
||
|
|
d4bc034c7d |
fix(ghostfolio): update image docker.io/ghostfolio/ghostfolio 3.15.0 → 3.15.1 (#49422)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/ghostfolio/ghostfolio](https://redirect.github.com/ghostfolio/ghostfolio) | patch | `63cef1c` → `b26215f` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>ghostfolio/ghostfolio (docker.io/ghostfolio/ghostfolio)</summary> ### [`v3.15.1`](https://redirect.github.com/ghostfolio/ghostfolio/blob/HEAD/CHANGELOG.md#3151---2026-06-23) [Compare Source](https://redirect.github.com/ghostfolio/ghostfolio/compare/3.15.0...3.15.1) ##### Changed - Improved the dynamic numerical precision for various values in the account detail dialog on mobile - Improved the dynamic numerical precision for various values in the holding detail dialog on mobile - Upgraded `@internationalized/number` from version `3.6.6` to `3.6.7` ##### Fixed - Fixed an issue where symbols with special characters caused API request failures by URL encoding the symbol - Fixed the disabled state of the delete action in the asset profiles actions menu of the historical market data table in the admin control panel - Fixed the persistence of an empty `locale` string in the scraper configuration - Fixed a transaction timeout that prevented gathering historical market data for symbols with a long history - Fixed an exception in various portfolio endpoints when historical exchange rate data is missing </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9naG9zdGZvbGlvIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9wYXRjaCJdfQ==--> |
||
|
|
51483de0ae |
chore(orcaslicer): update image ghcr.io/linuxserver/orcaslicer digest to a17c0b7 (#49420)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/linuxserver/orcaslicer](https://redirect.github.com/linuxserver/docker-orcaslicer/packages) ([source](https://redirect.github.com/linuxserver/docker-orcaslicer)) | digest | `904a99f` → `a17c0b7` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9vcmNhc2xpY2VyIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9kaWdlc3QiXX0=--> |
||
|
|
4321bb5d67 |
fix(metabase): update image docker.io/metabase/metabase v0.62.2 → v0.62.3 (#49425)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | docker.io/metabase/metabase | patch | `b2b2c69` → `f11eccb` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9tZXRhYmFzZSIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=--> |
||
|
|
7f05678163 |
fix(kubernetes-reflector): update image ghcr.io/emberstack/kubernetes-reflector 10.0.51 → 10.0.52 (#49424)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/emberstack/kubernetes-reflector](https://redirect.github.com/emberstack/kubernetes-reflector) | patch | `8703338` → `9b3b55f` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>emberstack/kubernetes-reflector (ghcr.io/emberstack/kubernetes-reflector)</summary> ### [`v10.0.52`](https://redirect.github.com/emberstack/kubernetes-reflector/releases/tag/v10.0.52) [Compare Source](https://redirect.github.com/emberstack/kubernetes-reflector/compare/v10.0.51...v10.0.52) The release process is automated. #### What's Changed - Bump the all-dependencies group with 7 updates by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​669](https://redirect.github.com/emberstack/kubernetes-reflector/pull/669) **Full Changelog**: <https://github.com/emberstack/kubernetes-reflector/compare/v10.0.51...v10.0.52> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9rdWJlcm5ldGVzLXJlZmxlY3RvciIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=--> |
||
|
|
c8c3ea3fb1 | chore(filestash): update image docker.io/machines/filestash digest to fe7016b (#49418) | ||
|
|
9bca6e5ba6 |
chore(mariadb): update image docker.io/bitnamisecure/mariadb digest to 967e3ef (#49419)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | docker.io/bitnamisecure/mariadb | digest | `4a3b3ac` → `967e3ef` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9tYXJpYWRiIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9kaWdlc3QiXX0=--> |
||
|
|
91b5301b83 |
feat(grafana): update image ghcr.io/kiwigrid/k8s-sidecar 2.7.4 → 2.8.0 (#49415)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/kiwigrid/k8s-sidecar](https://redirect.github.com/kiwigrid/k8s-sidecar) | minor | `b6b8781` → `8fd1da8` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>kiwigrid/k8s-sidecar (ghcr.io/kiwigrid/k8s-sidecar)</summary> ### [`v2.8.0`](https://redirect.github.com/kiwigrid/k8s-sidecar/releases/tag/2.8.0) [Compare Source](https://redirect.github.com/kiwigrid/k8s-sidecar/compare/2.7.4...2.8.0) #### 🚀 Features - add support for ppc64le and riscv64 - PR: [#​592](https://redirect.github.com/kiwigrid/k8s-sidecar/issues/592) #### 📦 Dependencies - build(deps): bump docker/setup-buildx-action from 4.0.0 to 4.1.0 - PR: [#​590](https://redirect.github.com/kiwigrid/k8s-sidecar/issues/590) - build(deps): bump actions/stale from 10.2.0 to 10.3.0 - PR: [#​589](https://redirect.github.com/kiwigrid/k8s-sidecar/issues/589) - build(deps): bump softprops/action-gh-release from 3.0.0 to 3.0.1 - PR: [#​588](https://redirect.github.com/kiwigrid/k8s-sidecar/issues/588) - build(deps): bump docker/bake-action from 7.1.0 to 7.2.0 - PR: [#​591](https://redirect.github.com/kiwigrid/k8s-sidecar/issues/591) - build(deps): bump actions/checkout from 6.0.2 to 7.0.0 - PR: [#​587](https://redirect.github.com/kiwigrid/k8s-sidecar/issues/587) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9ncmFmYW5hIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==--> |
||
|
|
683c216fff |
feat(ghostfolio): update image docker.io/ghostfolio/ghostfolio 3.14.0 → 3.15.0 (#49414)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/ghostfolio/ghostfolio](https://redirect.github.com/ghostfolio/ghostfolio) | minor | `36c6f05` → `63cef1c` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>ghostfolio/ghostfolio (docker.io/ghostfolio/ghostfolio)</summary> ### [`v3.15.0`](https://redirect.github.com/ghostfolio/ghostfolio/blob/HEAD/CHANGELOG.md#3150---2026-06-23) [Compare Source](https://redirect.github.com/ghostfolio/ghostfolio/compare/3.14.0...3.15.0) ##### Changed - Improved the dynamic numerical precision for various values in the account detail dialog on mobile - Improved the dynamic numerical precision for various values in the holding detail dialog on mobile - Upgraded `@internationalized/number` from version `3.6.6` to `3.6.7` ##### Fixed - Fixed an issue where symbols with special characters caused API request failures by URL encoding the symbol - Fixed the disabled state of the delete action in the asset profiles actions menu of the historical market data table in the admin control panel - Fixed the persistence of an empty `locale` string in the scraper configuration </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9naG9zdGZvbGlvIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==--> |
||
|
|
989471cbb6 |
feat(cops): update image lscr.io/linuxserver/cops 4.3.5 → 4.5.2 (#49413)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [lscr.io/linuxserver/cops](https://redirect.github.com/linuxserver/docker-cops/packages) ([source](https://redirect.github.com/linuxserver/docker-cops)) | minor | `3a4f39a` → `d2c79df` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9jb3BzIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==--> |
||
|
|
287b67ec99 | feat(wekan): update image docker.io/wekanteam/wekan v9.70 → v9.71 (#49416) | ||
|
|
d0302770cc |
feat(grafana): update image docker.io/grafana/grafana 13.0.3 → 13.1.0 (#49401)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/grafana/grafana](https://redirect.github.com/grafana/grafana) | minor | `1a34542` → `121a7a9` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>grafana/grafana (docker.io/grafana/grafana)</summary> ### [`v13.1.0`](https://redirect.github.com/grafana/grafana/compare/v13.0.3...v13.1.0) [Compare Source](https://redirect.github.com/grafana/grafana/compare/v13.0.3...v13.1.0) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9ncmFmYW5hIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9taW5vciJdfQ==--> |
||
|
|
072cad0d62 |
chore(tubesync): update image ghcr.io/meeb/tubesync digest to 01eec0b (#49410)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | ghcr.io/meeb/tubesync | digest | `1c717e2` → `01eec0b` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC90dWJlc3luYyIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvZGlnZXN0Il19--> |
||
|
|
e2521af3f9 |
fix(maintainerr): update image docker.io/maintainerr/maintainerr 3.15.2 → 3.15.3 (#49412)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/maintainerr/maintainerr](https://redirect.github.com/Maintainerr/Maintainerr) | patch | `dcfd3f0` → `ab62182` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>Maintainerr/Maintainerr (docker.io/maintainerr/maintainerr)</summary> ### [`v3.15.3`](https://redirect.github.com/Maintainerr/Maintainerr/blob/HEAD/CHANGELOG.md#3153-2026-06-23) [Compare Source](https://redirect.github.com/Maintainerr/Maintainerr/compare/v3.15.2...v3.15.3) #### Highlights - Improved Plex rule evaluation performance by prefetching watch history in bulk, reducing API calls and enhancing efficiency ([#​3082](https://redirect.github.com/Maintainerr/Maintainerr/issues/3082)). - Standardized UI action buttons with consistent corner radii, text styles, and theme colors ([#​3143](https://redirect.github.com/Maintainerr/Maintainerr/issues/3143), [#​3144](https://redirect.github.com/Maintainerr/Maintainerr/issues/3144)). #### Fixes - Log benign SSE client disconnects without a stack trace to reduce log noise ([#​3145](https://redirect.github.com/Maintainerr/Maintainerr/issues/3145)). - Initialize the active media server adapter immediately after a switch to prevent false connection-test failures. - Dropped BETA tag from notifications and marked download client as BETA. - Fixed `ExecuteButton` corner radius to align with the shared `Button` component ([#​3144](https://redirect.github.com/Maintainerr/Maintainerr/issues/3144)). - Standardized action buttons on the shared `Button` component and ensured consistent theme colors ([#​3143](https://redirect.github.com/Maintainerr/Maintainerr/issues/3143)). - Explicitly installed corepack in the dev container for compatibility with Node 26+ ([#​3141](https://redirect.github.com/Maintainerr/Maintainerr/issues/3141)). #### Performance - Optimized Plex rule evaluation by prefetching watch history in bulk, reducing redundant API calls ([#​3082](https://redirect.github.com/Maintainerr/Maintainerr/issues/3082)). #### Internal - Updated documentation for the development environment, including devbox workflows and agent confinement models. - Fixed stale workspace path in agent documentation (/home/maintainerr-dev -> /workspace). #### Dependencies - Updated 1 dependency: explicitly installed corepack for Node 26+ compatibility. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9tYWludGFpbmVyciIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=--> |
||
|
|
667711d172 |
chore(mongodb): update image docker.io/bitnamisecure/mongodb digest to 08a7d03 (#49408)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | docker.io/bitnamisecure/mongodb | digest | `a6c182f` → `08a7d03` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9tb25nb2RiIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9kaWdlc3QiXX0=--> |
||
|
|
246714a1d2 |
chore(transmission): update image docker.io/linuxserver/transmission digest to 9b229b0 (#49409)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/linuxserver/transmission](https://redirect.github.com/linuxserver/docker-transmission/packages) ([source](https://redirect.github.com/linuxserver/docker-transmission)) | digest | `90ca607` → `9b229b0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC90cmFuc21pc3Npb24iLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL2RpZ2VzdCJdfQ==--> |
||
|
|
4e234f54e7 |
chore(filestash): update image docker.io/machines/filestash digest to 5348a9f (#49407)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | docker.io/machines/filestash | digest | `a56e3ae` → `5348a9f` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9maWxlc3Rhc2giLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL2RpZ2VzdCJdfQ==--> |
||
|
|
9b1ef40e3a | chore(github-action): update azure/setup-helm digest digest to 9bc31f4 | ||
|
|
b8c4cdd6b9 | feat(manyfold): update image ghcr.io/manyfold3d/manyfold 0.144.1 → 0.145.1 (#49402) | ||
|
|
e8a042a3ee |
feat(wekan): update image docker.io/wekanteam/wekan v9.67 → v9.70 (#49404)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/wekanteam/wekan](https://redirect.github.com/wekan/wekan) | minor | `6a6a5cc` → `9e84f05` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>wekan/wekan (docker.io/wekanteam/wekan)</summary> ### [`v9.70`](https://redirect.github.com/wekan/wekan/blob/HEAD/CHANGELOG.md#v970-2026-06-23-WeKan--release) [Compare Source](https://redirect.github.com/wekan/wekan/compare/v9.69...v9.70) This release fixes the following bugs: - **Copying a card to or from a board with no labels threw.** `Card.copy()`'s cross-board label-remap did `oldBoard.labels.filter(...)` / `filterCopiedLabelIds(newBoard.labels, …)` without guarding a missing `labels` array. Most boards always have default labels, but a board **created via the REST API** (`POST /api/boards`) has no `labels` array — so copying a card to/from such a board (or copying the board itself, which copies its cards) threw `Cannot read properties of undefined (reading 'filter')` and returned HTTP 500. Both label lookups now fall back to `[]`. Cross-board copy regressions in `tests/playwright/specs/17-rest-api.e2e.js`. - [Copying a board did not copy its webhooks](https://redirect.github.com/wekan/wekan/issues/5592), [#​5592](https://redirect.github.com/wekan/wekan/issues/5592): `board.copy()` duplicated swimlanes/lists/cards, custom fields and rules/triggers/actions, but had no loop for **Integrations** (outgoing webhooks), so a copied board lost all of them (even though they are per-board children — `boardRemover` deletes them by `boardId`). `copy()` now also copies the board's Integrations, remapping `boardId` (URL/token/activities carry over — the copying user is a board admin with access to them). Regression in `tests/playwright/specs/17-rest-api.e2e.js`. - [Disabled user accounts could be added to boards](https://redirect.github.com/wekan/wekan/issues/1894), [#​1894](https://redirect.github.com/wekan/wekan/issues/1894): none of the add-member paths checked the target account's `loginDisabled` flag, so a deactivated user could be invited/added and assigned to cards. `inviteUserToBoard` now throws `error-user-disabled`, and the REST `POST /api/boards/:boardId/members/:userId/add` endpoint returns HTTP 400, when the target account is disabled (re-enabling the account allows the add again). Regression in `tests/playwright/specs/17-rest-api.e2e.js`. - [Admin Panel boards report listed removed members as current members](https://redirect.github.com/wekan/wekan/issues/5122), [#​5122](https://redirect.github.com/wekan/wekan/issues/5122): removing a member from a board marks the member entry `isActive: false` (it is kept in `board.members` for role history / re-activation), but the Admin Panel → Reports → Boards member column listed **all** member entries, so removed users still appeared as members. The report now filters to active members (`isActive !== false`). (The raw `GET /api/boards/:boardId` response intentionally still returns the full `members` array with each entry's `isActive` flag, so API consumers can filter as they need.) - [Could not remove a deleted user from a card's members](https://redirect.github.com/wekan/wekan/issues/4847), [#​4847](https://redirect.github.com/wekan/wekan/issues/4847) (card side): when a user account is deleted, its entry stays in a card's `members`, rendering as a blank avatar. Clicking it opened the member popup, whose template dereferenced the now-missing user document (`user.profile.fullname` / `user.username`) and failed to render — so there was no way to remove the orphaned member. The popup now detects a missing user, shows a **"Deleted user"** entry with the raw id, and keeps the **Remove from Card** control (the remove handler keys off the member's `userId`, not the user document), so orphaned card members can be removed. (No automated regression — a self-evident Blaze template guard; the underlying `unassignMember` removal already worked. The board-members *list* still hides such entries because `activeMembers()` also intentionally filters members whose user doc is merely not-yet-loaded, so surfacing board-side orphans cleanly is a separate follow-up.) - [A newly added board member was missing from the card members popup](https://redirect.github.com/wekan/wekan/issues/4965), [#​4965](https://redirect.github.com/wekan/wekan/issues/4965): the card "add members" popup snapshotted the board's member list **once** when it opened, so a member added to the board afterwards (or whose user document finished loading just after the popup opened) did not appear until the popup was reopened. The popup now derives its candidate list **reactively** (it stores only the filter term and re-reads `board.activeMembers()` on each render), so newly-added members show up without reopening. No change to `activeMembers()` itself (its deleted-user filtering is unchanged). - [Editing a linked card you cannot write to failed silently](https://redirect.github.com/wekan/wekan/issues/5809), [#​5809](https://redirect.github.com/wekan/wekan/issues/5809): a linked card whose target lives on a board the user cannot write to (e.g. a private board) rejected title/description edits at the server allow rule, but the card-detail edit handlers had no error handling, so the edit just vanished with no feedback. The title and description submit handlers now catch the failure and show the error (mirroring the existing label-color handler), so the user sees why the edit did not save. (No automated regression — surfacing a permission denial across a private linked board is a UX/error path that is not cleanly reproducible in the test harness.) - **Performance: copying a card with many checklist items took minutes** ([#​5688](https://redirect.github.com/wekan/wekan/issues/5688)). `Checklist.copy()` duplicated each checklist item with the hooked `insertAsync`, so collection-hooks fired each item's `after.insert` — every one doing a `getCard` and inserting an `addChecklistItem` activity. Copying a card with \~100 items meant \~100+ activity inserts (plus per-item DB round-trips), taking minutes and spiking CPU. The copy now uses `.direct` for the checklist and its items (skipping the per-item activity hooks — pure churn for a wholesale copy) and sets `boardId` itself, the same approach as the `cardRemover` delete path. Copy regression (checklist + all items duplicated) in `tests/playwright/specs/17-rest-api.e2e.js`. - **Copying a card to another board orphaned its subtasks on the old board** ([#​5347](https://redirect.github.com/wekan/wekan/issues/5347) data symptom): `Card.copy()` re-pointed each subtask's `parentId` to the copied card but left its `boardId`/`swimlaneId`/`listId` pointing at the **source** board — so a cross-board copy created subtasks stranded on the original board whose parent lives on another board (and it mutated the cached source docs in place). Copied subtasks are now re-homed onto the destination board/swimlane/list alongside the copied parent, via a fresh object (no cache mutation). Cross-board copy regression in `tests/playwright/specs/17-rest-api.e2e.js`. (This fixes the orphaned-cross-board-subtask data symptom noted in [#​5347](https://redirect.github.com/wekan/wekan/issues/5347); the separate "Maximum call stack" error there is not yet root-caused — see the issue.) - [Error when clicking the notification icon](https://redirect.github.com/wekan/wekan/issues/5325), [#​5325](https://redirect.github.com/wekan/wekan/issues/5325): a notification whose referenced activity no longer existed (its card/board was deleted) left an entry whose `activityObj` was null, and the notifications drawer dereferences it (`activity.user`, `activity._id`, …) — so one orphaned notification threw and broke the whole popup. `user.notifications()` now drops entries whose activity can't be resolved. (No automated regression — an orphaned-notification state is not cleanly reproducible in the harness; the fix is a self-evident filter.) - [Deleting a custom field from a board could throw](https://redirect.github.com/wekan/wekan/issues/5390), [#​5390](https://redirect.github.com/wekan/wekan/issues/5390): removing a (multi-board) custom field from one board runs a `before.update` hook that logged a `setCustomField` activity by reading `(await getActivity({customFieldId})).value` — with **no null guard**, so a field that never had a value set (no such activity) threw `Cannot read properties of undefined` and aborted the removal. The lookup is now guarded. ([server/models/customFields.js](server/models/customFields.js)) - [Board "show checklists on minicard" setting had no effect](https://redirect.github.com/wekan/wekan/issues/5565), [#​5565](https://redirect.github.com/wekan/wekan/issues/5565): the sidebar toggle writes `board.allowsChecklistsOnMinicard`, but the minicard render checked a different, UI-less field (`board.allowsChecklistAtMinicard`), so enabling the board-wide setting never showed checklists on minicards. The minicard now reads the field the toggle actually sets. ([client/components/cards/minicard.js](client/components/cards/minicard.js)) and these issues are verified resolved in current code (could not reproduce / no error observed here; re-test on the reporter's data requested): - [#​5388](https://redirect.github.com/wekan/wekan/issues/5388) (collapsing a list affected all users): list collapse state is now stored **per user** (`profile.collapsedLists[boardId][listId]`, or a cookie for logged-out users) instead of a shared `collapsed` field on the list document — so one user collapsing a list no longer changes it for everyone (resolved by commit [`414b8db`](https://redirect.github.com/wekan/wekan/commit/414b8dbf4), which postdates the report; mirrors the per-user swimlane-collapse handling). - [#​3894](https://redirect.github.com/wekan/wekan/issues/3894) (board import failed when the JSON's `members` referenced a user not present in `users`): the importers already guard a missing user entry (skip the dangling member instead of dereferencing `undefined`) in `client/components/import/wekanMembersMapper.js`, `models/wekanmapper.js` and `models/wekanCreator.js`, with a dedicated test (`tests/wekanCreator.inconsistent.test.js`). - [#​5411](https://redirect.github.com/wekan/wekan/issues/5411) (non-super-admin board admins could not see the add-member "+"): the sidebar add-member button is gated on `currentUser.canInviteToBoard`, which returns `true` for any board admin (`board.hasAdmin`), and the secure default invite roles include `board-admin`. So board admins (not just site admins) see the "+". This was resolved by the "Allow Invite to Board" roles feature (commit [`c956ab5`](https://redirect.github.com/wekan/wekan/commit/c956ab5a4)), which postdates the report; a site admin can additionally let other board roles invite via Admin Panel → People → Roles. - [#​5627](https://redirect.github.com/wekan/wekan/issues/5627) (rules not copied when creating a board from a template): `board.copy()` already copies the board's rules + triggers + actions (remapping `boardId` and the rule's `triggerId`/`actionId`); the report predates that code. Now covered by the [#​5592](https://redirect.github.com/wekan/wekan/issues/5592)/[#​5627](https://redirect.github.com/wekan/wekan/issues/5627) copy regression in `tests/playwright/specs/17-rest-api.e2e.js` so it cannot silently regress. - [#​5630](https://redirect.github.com/wekan/wekan/issues/5630) (cannot save Admin Panel Layout settings): already fixed — the Layout save handler had referenced form fields that were moved to the separate Accessibility settings template, throwing before the save; the current `js-save-layout` handler no longer reads those fields. - [#​5117](https://redirect.github.com/wekan/wekan/issues/5117) (a TeX formula rendered both an SVG and a `<math>` tag): already fixed by migrating math rendering from `markdown-it-mathjax3` (which emitted both SVG and MathML) to **Temml**, which outputs MathML only (`packages/markdown/src/template-integration.js`). ### [`v9.69`](https://redirect.github.com/wekan/wekan/blob/HEAD/CHANGELOG.md#v969-2026-06-23-WeKan--release) [Compare Source](https://redirect.github.com/wekan/wekan/compare/v9.68...v9.69) This release fixes the following bugs: - [Can't edit a card's members in the UI after removing them via the REST API](https://redirect.github.com/wekan/wekan/issues/3697), [#​3697](https://redirect.github.com/wekan/wekan/issues/3697): clearing a card's `members` (or `assignees`) over REST left the field uneditable in the UI. The card PUT handler guarded with `if (req.body.members)` — falsy for the two natural clear payloads (`null` and `""`) — so "remove the last member" was a silent no-op, and its string branch was written to store `null` rather than `[]`; a card with `members: null` then breaks UI code that treats it as an array. The handler now uses an `!== undefined` guard plus a shared coercion helper so any clear payload (`null` / `""` / `[]`) stores a clean `String[]` (never null), a single id is wrapped into an array, and stray non-string entries are dropped; `getMembers()`/`getAssignees()` also coerce a legacy `null` to `[]` on read so existing corrupted documents edit cleanly. Pure logic in `models/lib/restArrayParam.js` with a Meteor-free Node unit test (`tests/restArrayParam.test.cjs`, `npm run test:unit:node`, incl. a **negative test** reproducing the old null-writing logic), plus a REST regression in `tests/playwright/specs/17-rest-api.e2e.js`. - [Can't create a card with no member via the REST API](https://redirect.github.com/wekan/wekan/issues/2875), [#​2875](https://redirect.github.com/wekan/wekan/issues/2875): the card-create endpoints (`POST .../cards` and `POST .../cards/bulk`) wrote `req.body.members`/`assignees` straight to the insert with no normalization — the create-side twin of [#​3697](https://redirect.github.com/wekan/wekan/issues/3697) — so a `null`/`""` payload persisted as `null` (breaking later UI editing). Both handlers now run the same `coerceRestArrayParam` helper: the field is omitted when not provided (so the schema default `[]` applies), any clear payload becomes `[]` (never null), and a single id is wrapped into an array. REST regression in `tests/playwright/specs/17-rest-api.e2e.js`. - [Board created through the REST API shows in the API but not in the browser UI](https://redirect.github.com/wekan/wekan/issues/5650), [#​5650](https://redirect.github.com/wekan/wekan/issues/5650): `POST /api/boards` set the board's sole member's `userId` from `req.body.owner` with no fallback, so a request that omits `owner` created a board whose only member had `userId: undefined`. The board-list publication matches `members.$elemMatch: { userId, isActive: true }`, which can never match an undefined id — so the board was returned by the REST API but invisible in the browser. `owner` now falls back to the authenticated caller (`req.body.owner || req.userId`), mirroring the Meteor create method. REST + DB regression in `tests/playwright/specs/17-rest-api.e2e.js`. - [Copying a card to another board left its comments on the wrong board](https://redirect.github.com/wekan/wekan/issues/5166), [#​5166](https://redirect.github.com/wekan/wekan/issues/5166): `CardComments.copy()` cloned a comment but only changed its `cardId`, so a card copied to another board produced comments that kept the **source** board's `boardId`. Comment permission checks key off the comment's `boardId`, so edit/delete on a copied comment was validated against the wrong board, and any board-scoped query saw it on the old board. `copy()` now also sets the destination `boardId` (the author `userId` is intentionally preserved). Cross-board copy regression in `tests/playwright/specs/17-rest-api.e2e.js`. *Note:* the related "wrong author shown" symptom is a separate display issue — when a copied comment's author is **not a member of the destination board**, their user document isn't published there, so the UI can't resolve the name; adding those users to the board resolves it. A broader fix (publishing comment authors' minimal profile on boards where their comments appear) is left as a follow-up. - [Exception "Removed nonexistent document" when deleting a card detail](https://redirect.github.com/wekan/wekan/issues/3252), [#​3252](https://redirect.github.com/wekan/wekan/issues/3252) (partial): deleting a comment or checklist/checklist-item could throw `Removed nonexistent document` on the client. The delete handlers called `Collection.remove(_id)` directly, but under heavy archive/delete churn the target doc can already have been evicted from the client's Minimongo cache, and removing a missing `_id` throws. The comment / checklist / checklist-item delete handlers now check the doc still exists in the local cache before removing it (`client/components/activities/comments.js`, `client/components/cards/checklists.js`). The server-side `before.remove` hooks were already hardened to guard + log instead of throwing. (No automated regression for the thrown exception — the eviction race is not deterministically reproducible; the guard itself is a self-evident findOne-then-remove.) The **high CPU on bulk delete** the issue also reports is reduced by the cascade change below; the remaining cost is on the **archive** path (a bulk update, not a delete) and is a separate follow-up. - **Performance: deleting a card no longer fans out per-child activity churn** ([#​3252](https://redirect.github.com/wekan/wekan/issues/3252), [#​5322](https://redirect.github.com/wekan/wekan/issues/5322)). `cardRemover` removed a card's checklist items, checklists and comments with the hooked `removeAsync`, so collection-hooks fired each child's `before.remove` **once per document** — every one doing a `getCard` and inserting an activity (e.g. a `removedChecklistItem` per item), which then triggered the notification + publication observers. Deleting (or bulk-deleting) a card with many children produced an activity-insert storm and pegged the CPU. `cardRemover` now removes those children with `.direct` (skipping the per-child hooks — they only logged activities that are unviewable once the card is gone) and clears **all** of the card's activities in a single bulk op, which also removes the activities that a delete previously left orphaned. The `deleteCard` activity is still logged afterward (so the outgoing webhook fires), and attachments still go through the normal remove so their files are deleted. Cascade + activity-cleanup regression (also a negative test) in `tests/playwright/specs/17-rest-api.e2e.js`. and this issue is verified resolved in current code (could not reproduce / no error observed here; re-test on the reporter's data requested): - [#​2292](https://redirect.github.com/wekan/wekan/issues/2292) (archiving a swimlane appeared to delete all its cards): `Swimlane.archive()` ([models/swimlanes.js](models/swimlanes.js)) only sets `archived: true` on the swimlane — it does **not** touch or delete the cards, and `restore()` brings the swimlane and its cards back. While a swimlane is archived its cards are merely hidden from the board view (board queries filter to `archived: false` swimlanes), not lost — the v2.27-era cascade described in the report no longer happens. (A dedicated way to view an archived swimlane's cards before restoring would be a separate UX improvement.) ### [`v9.68`](https://redirect.github.com/wekan/wekan/blob/HEAD/CHANGELOG.md#v968-2026-06-23-WeKan--release) [Compare Source](https://redirect.github.com/wekan/wekan/compare/v9.67...v9.68) This release adds the following updates and developer tooling: - **rebuild-wekan.sh / rebuild-wekan.bat: multi-forge mirroring.** Two new menu options: *Install forge CLI tools* (installs the gh-like CLIs `gh`, `glab`, `tea`, `git-bug`, and the unified [`forge`](https://redirect.github.com/git-pkgs/forge) via the detected package manager / `go install`), and *Mirror repo GitHub → GitLab/Codeberg/Forgejo/Gitea*. The mirror flow selects source + target by number (e.g. `1 3` = GitHub → Codeberg), pushes all branches/tags with `git push --mirror`, then runs a cross-platform Node engine (`tools/forge-mirror.js`) that syncs only the issues and pull requests **missing** at the target (driving the authenticated CLIs; de-duplicated by title; dry-run by default) and converts the GitHub Actions workflow syntax for the target: an annotated `.forgejo/workflows/` copy that flags the known Forgejo/Gitea incompatibilities (`hashFiles()`, `permissions:`, `continue-on-error:`, complex `runs-on:`), or for GitLab a `.gitlab-ci.yml` scaffold plus a guide pointing at GitLab's official converter skill. - **Updated Meteor to 3.5-rc.2** ([#​6413](https://redirect.github.com/wekan/wekan/pull/6413), thanks harryadel; merged in [d5be28bc2](https://redirect.github.com/wekan/wekan/commit/d5be28bc2)). - **Dependency updates** (merged the low-risk Dependabot PRs that pass build + unit tests): `@swc/helpers` 0.5.22 → 0.5.23 ([#​6416](https://redirect.github.com/wekan/wekan/pull/6416)) and the test-only `sinon` 21 → 22 ([#​6418](https://redirect.github.com/wekan/wekan/pull/6418)). The major **production** bumps were held back for individual testing rather than merged: `jquery` 3 → 4 ([#​6417](https://redirect.github.com/wekan/wekan/pull/6417), risks Blaze / jQuery-UI compatibility), `@babel/runtime` 7 → 8 ([#​6415](https://redirect.github.com/wekan/wekan/pull/6415)), and `@tweedegolf/sab-adapter-amazon-s3` 1 → 3 ([#​6414](https://redirect.github.com/wekan/wekan/pull/6414), S3 storage is not exercised by CI). - **rebuild-wekan.sh: run the Chromium / Firefox / WebKit Playwright matrix with or without Docker.** The WebKit-only Docker support is generalized so any browser can run natively or inside the official Playwright Docker image, selectable via `WEKAN_PLAYWRIGHT_DOCKER=1/0` (whole matrix) or per-browser `WEKAN_CHROMIUM_DOCKER` / `WEKAN_FIREFOX_DOCKER` / `WEKAN_WEBKIT_DOCKER`. Defaults are unchanged (Chromium/Firefox native, WebKit via Docker on Linux arm64). Adds an "Install Playwright browsers" menu item that does `playwright install --with-deps` and/or pulls the Playwright Docker image. [commit c3e6d97bd](https://redirect.github.com/wekan/wekan/commit/c3e6d97bd). - **E2E reliability:** the Playwright suite was red on `main` because the **rspack client JS bundle was not being served** by `meteor run` (dev mode) in headless CI — browser requests for the bundle returned the SPA HTML fallback (`Unexpected token '<'`), so Meteor never initialised and all \~212 specs timed out in `waitForMeteor` (confirmed: a CI readiness probe got an empty response from the bundle URL for 10 minutes straight). The CI E2E job now runs against a **production build** (`meteor build` → `node bundle/main.js`), where the client JS is baked into the bundle and served statically by the Meteor server — no rspack dev server, no chunk-serving race. The production run also needed two env vars the dev runner sets but CI did not: `WRITABLE_PATH` (without it `server/00checkStartup.js` exits before listening) and `WITH_API=true` (without it every REST-API spec gets HTML instead of JSON). The suite is also **sharded 2× per browser** (6 parallel jobs) to cut wall-clock time, and the per-spec `waitForMeteor` timeout was raised 30s → 60s. **Confirmed:** the suite went from *0 tests running* (all timed out) to \~**119/120 passing per shard**. The handful of residual specs were then triaged locally: two were **real product bugs** (below — the sort-cards button and Template Container deletion); the RTL/LTR i18n-text spec was CI-only timing on the production bundle, made robust by waiting for the async result instead of reading it immediately. Two specs are **quarantined** (`test.fixme`) for focused follow-up: a pre-existing "control" assertion (a plain click outside the card closing it — the actual [#​5686](https://redirect.github.com/wekan/wekan/issues/5686) guard it backs still passes), and the [#​5798](https://redirect.github.com/wekan/wekan/issues/5798) template-card end-to-end flow, which is unstable *only* on the CI production bundle (it passes locally) — the [#​5798](https://redirect.github.com/wekan/wekan/issues/5798) product fix itself is committed and verified (see below); the flaky part is the multi-step template-search-and-instantiate UI under polling reactivity. - **Sort-cards button stayed clickable after sorting.** In the board header the `js-sort-cards` class (which carries the handler that opens the sort popup) was *replaced* by `emphasis` once a sort was active, so after sorting once the button was dead — the popup could not be reopened to change or clear the sort. It now keeps `js-sort-cards` and only *adds* `emphasis` when active. - **Deleting a Template Container board threw and aborted.** `boardRemover` cleared the user's template profile pointers with `$unset`, but those four `profile.*` fields were non-optional `String` in the schema, so SimpleSchema rejected the update ("Templates board ID is required") and the whole board removal failed. The fields are now `optional`, so the container deletes and its pointers clear cleanly ([#​2339](https://redirect.github.com/wekan/wekan/issues/2339)/[#​5850](https://redirect.github.com/wekan/wekan/issues/5850)). - **Regression tests** for several of the fixes below, **each negative-tested** (verified to fail on the pre-fix code): the attachment filename truncation ([#​6412](https://redirect.github.com/wekan/wekan/issues/6412)) has a Meteor-free Node unit test (`tests/filenameSanitizer.test.cjs`, `npm run test:unit:node`) plus the `meteor test` mocha test, and Playwright specs (`tests/playwright/specs/36-fixed-bug-regressions.e2e.js`) cover [#​3907](https://redirect.github.com/wekan/wekan/issues/3907), [#​5886](https://redirect.github.com/wekan/wekan/issues/5886), [#​5892](https://redirect.github.com/wekan/wekan/issues/5892), [#​3897](https://redirect.github.com/wekan/wekan/issues/3897) and [#​5798](https://redirect.github.com/wekan/wekan/issues/5798) (the [#​5798](https://redirect.github.com/wekan/wekan/issues/5798) spec passes locally but is quarantined on CI — see the E2E reliability note above). and fixes the following bugs: - [Cannot delete some boards from Archive](https://redirect.github.com/wekan/wekan/issues/4255), [#​4255](https://redirect.github.com/wekan/wekan/issues/4255): the Archive listed boards the user could not actually delete — clicking *Delete* did nothing and the console showed `remove failed: Access denied`. The `archivedBoards` publication scoped its list to admin members (`isAdmin: true`) but ignored the **active** flag, whereas the `Boards.remove` permission (`hasAdmin()`) requires an **active** admin (`isActive: true && isAdmin: true`). A user who was an admin on a board but no longer active still saw it in the Archive, then hit "Access denied" on delete. The publication now matches the remove permission exactly (`isActive: true && isAdmin: true`), so the Archive only lists boards the user can really delete. - [Weird moving card bug — cross-board move could silently lose a card](https://redirect.github.com/wekan/wekan/issues/5874), [#​5874](https://redirect.github.com/wekan/wekan/issues/5874) (data loss): rarely, moving a card from board A to board B left it in a **corrupt half-moved state** — the card's `boardId` became B but its `listId`/`swimlaneId` still belonged to board A. The reporter saw exactly this: the card existed in board B's JSON but with board A's list/swimlane, so it was invisible in every normal view on both boards and clicking its link reopened board A. **Root cause:** the Move/Copy-card dialog resolves the destination board's swimlanes and lists from the *client* Minimongo cache, which can still be empty at the moment the user clicks "Done" — the destination board's `publishComposite('board')` data has not finished merging — so the dialog keeps the *source* board's `swimlaneId`/`listId` while the `boardId` is already the destination. (`setFirstSwimlaneId()`/`setFirstListId()` swallow the lookup miss in a silent `try/catch`, leaving the stale ids in place.) Several other callers — drag reorder, multi-card move in the filter sidebar, board-action rules, the REST API — can in principle produce the same mismatch. **Fix:** a new server-side `Cards.before.update` guard (`enforceCardBoardConsistency`, registered first so the corrected modifier is what every later hook and the persisted write see) runs whenever a card's `boardId` changes and rewrites the pending update so the swimlane/list always belong to the destination board, falling back to that board's default swimlane and first list when they don't. It runs on the server, where the destination board's swimlanes/lists are always present regardless of client cache state, and is **corrective only** — a cross-board move whose targets already belong to the destination board is left untouched, and a same-board reorder is ignored. The decision logic was extracted into a pure, dependency-injected module (`models/lib/cardBoardConsistency.js`) with a Meteor-free Node unit test (`tests/cardBoardConsistency.test.cjs`, `npm run test:unit:node`), including a **negative test** asserting that the raw unguarded modifier is exactly the [#​5874](https://redirect.github.com/wekan/wekan/issues/5874) corrupt state. - [Responsive views still seem broken](https://redirect.github.com/wekan/wekan/issues/6419), [#​6419](https://redirect.github.com/wekan/wekan/issues/6419) (partial): the most concrete, "stops-work" part is fixed — on mobile an **open card could not be closed** because the card-details overlay (z-index 100) sat *below* the app header bar (`#header-main-bar`, z-index 1000), so the header covered the close (X) button. The full-screen mobile card now uses z-index 1100 — above the header, still below popups (2000+) so card menus/date pickers open over it. Mobile header action icons were also enlarged and **verified on a real iPhone profile via Playwright screenshots** (`tests/playwright/mobile-shot.js`): the top bar and the board action bar buttons were only \~28–32px tall with a 13–15px font (below the comfortable \~44px touch-target / 16px readable minimum). They are now \~44px tall with a 16px font, applied **by viewport width** (`@media (max-width: 800px)`) so they work on any phone without toggling Desktop/Mobile mode — the board header renders as a clean row of large, icon-only buttons. **Two deeper root causes were then found and fixed (verified on an iPhone profile via Playwright screenshots):** (1) **No viewport meta tag.** WeKan's server-rendered `<head>` (`server/lib/customHeadRender.js`) had no `<meta name="viewport">`, so mobile browsers laid the page out at their default \~980px virtual width and scaled it down — making the whole UI tiny, reporting `window.innerWidth === 980` on a 390px phone, and preventing every `@media (max-width: 800px)` rule (and the width-based mobile detection) from ever matching. Added `width=device-width, initial-scale=1, viewport-fit=cover` (user zoom left enabled for accessibility). (2) **`profile.mobileMode` defaulted to `false`.** The user schema set `mobileMode: false` on *every* user, so `Utils.getMobileMode()` always returned the profile value and the auto-detection below it was dead code — every user was locked to desktop-mode even on a phone. The field is now `optional` (no default), so it stays unset until the user explicitly toggles; auto-detection was also rewritten to use reliable `matchMedia` width/pointer queries instead of fragile user-agent sniffing (cf. **Meteor [#​12421](https://redirect.github.com/meteor/meteor/issues/12421)**, where Mobile Safari UA version parsing was wrong — this instance reports `isModern: true`, so [#​12421](https://redirect.github.com/wekan/wekan/issues/12421) is not the cause here, but it is the same class of UA-detection fragility this rewrite avoids), and a `matchMedia` listener now re-applies mobile-mode on resize/orientation when the user has no explicit preference. Net: phones auto-detect mobile mode at the correct device width, with large tappable icons, no manual toggle. Also fixed the **Admin Panel's secondary top bar** in small-width mode: those tab buttons (Settings / People / Reports / Attachments / Translation / Info) are rendered inside `#header-quick-access`, whose mobile rules scale all text/icons 2× — so the admin tabs rendered at 28px text / **56px icons**, huge and overlapping the "Version" label. A scoped override caps them at a normal touch size (15px text / 18px icons). And fixed **overlapping text in the Admin Panel settings body** on phones: the layout forced a side-by-side menu+content row "even on narrow windows", so the \~127px side menu and the content were crammed together and the long (e.g. Finnish) section labels overflowed the menu box rightward, visually overlapping the content. On small screens the layout now **stacks** — a full-width compact section menu on top, full-width settings content below — verified via iPhone-profile screenshots. - [Missing voting buttons](https://redirect.github.com/wekan/wekan/issues/6420), [#​6420](https://redirect.github.com/wekan/wekan/issues/6420): the `showVotingButtons` (and `showPlanningPokerButtons`) helpers in `cardDetails.js` referenced an **undefined `currentUser`** variable, so every card render threw `ReferenceError: currentUser is not defined` and the vote / planning-poker buttons silently disappeared. The helpers now resolve `currentUser` via `ReactiveCache.getCurrentUser()` and null-guard the board-member check. Regression test in `tests/playwright/specs/36-fixed-bug-regressions.e2e.js`. - [ENAMETOOLONG: very long attachment filenames could not be migrated to filesystem storage](https://redirect.github.com/wekan/wekan/issues/6412), [#​6412](https://redirect.github.com/wekan/wekan/issues/6412): attachment filenames were sanitized for path traversal but never length-limited, so a very long name (worse with multibyte UTF-8 like German umlauts) produced an on-disk `<id>-<version>-<name>` component exceeding the filesystem's 255-byte limit and failed with `ENAMETOOLONG`. `sanitizeFilename` now truncates to 200 UTF-8 bytes (measured in bytes, never splitting a codepoint) while preserving the file extension. Done: [commit 5e26cf004](https://redirect.github.com/wekan/wekan/commit/5e26cf004). - [Card "added label" history was deleted whenever the card was moved](https://redirect.github.com/wekan/wekan/issues/3907), [#​3907](https://redirect.github.com/wekan/wekan/issues/3907): `updateActivities` removed all `addedLabel` activities whenever `boardId` appeared in a card update, but `Card.move()` always re-sets `boardId` (even moving within the same board), so every move wiped the card's label history (data loss in the `activities` collection). The removal/remap now only runs on an actual board change (comparing the pre-update `boardId` with the new value). Done: [commit 6382ad6a8](https://redirect.github.com/wekan/wekan/commit/6382ad6a8). - [Public boards did not fully load longer lists when viewed as a guest](https://redirect.github.com/wekan/wekan/issues/3897), [#​3897](https://redirect.github.com/wekan/wekan/issues/3897): a guest (no logged-in user) hit `getCurrentUser().isBoardAdmin()` in template helpers, throwing `Cannot read property 'isBoardAdmin' of null` and aborting the Tracker render so lists stopped loading partway. The helpers now use optional chaining (`getCurrentUser()?.isBoardAdmin()` / `?.isWorker()`), which is falsy for guests instead of throwing. Done: [commit fc0fe0b61](https://redirect.github.com/wekan/wekan/commit/fc0fe0b61). - [Changed order of lists is not persisted](https://redirect.github.com/wekan/wekan/issues/5997), [#​5997](https://redirect.github.com/wekan/wekan/issues/5997): the server side was verified working end-to-end (a DDP call to `updateListSort` reorders the `lists` collection and the `sort:1` query returns the new order), so the regression was client-side. `saveSorting` read the neighbouring lists with `.prev('.js-list')` / `.next('.js-list')`, which jQuery only matches when the sibling is *immediately* adjacent; the lists container also renders the add-list composer and a `+cardDetails` element (when a card is open) between lists, so an interspersed non-list sibling made `calculateIndex` mis-detect the first/last position and compute a wrong sort. Now uses `prevAll/nextAll('.js-list').first()`. Done: [commit 1165c9b6d](https://redirect.github.com/wekan/wekan/commit/1165c9b6d). - [Cards made from a template link to the template itself](https://redirect.github.com/wekan/wekan/issues/5798), [#​5798](https://redirect.github.com/wekan/wekan/issues/5798): a card instantiated from a template was copied with the *templates* board id (the template-search source), so it had `boardId` = templates board. It still showed in the target list (the list renders cards by `listId` and the templates board is subscribed), but clicking it navigated to the templates board instead of opening the card. It is now copied into the current board. Done: [commit 097806984](https://redirect.github.com/wekan/wekan/commit/097806984). - **Creating a card from a template threw "There is no current view" and created no card.** Found while adding the [#​5798](https://redirect.github.com/wekan/wekan/issues/5798) regression test: the searchElement popup's minicard-click handler called `tpl.getSortIndex()` (which reads `Template.currentData()`) *after* `await tpl.board.getNextCardNumber()`, and Blaze's synchronous current-view context is lost across an `await`. The sort index is now computed before the await. Done: [commit 612ed3e51](https://redirect.github.com/wekan/wekan/commit/612ed3e51). - [Lists do not collapse correctly with the Modern theme](https://redirect.github.com/wekan/wekan/issues/5892), [#​5892](https://redirect.github.com/wekan/wekan/issues/5892): the list-width rework ([#​6409](https://redirect.github.com/wekan/wekan/issues/6409)) added a persistent `.list[style*="--list-width"] { width: … !important }` rule that overrode the 30px collapsed width, so a list with a custom width stayed full width when collapsed. Collapsed lists are now excluded from that rule and the 30px width is `!important`. Done: [commit 5e9b2bccd](https://redirect.github.com/wekan/wekan/commit/5e9b2bccd). - [Sort by due date is not remembered as the default view](https://redirect.github.com/wekan/wekan/issues/5886), [#​5886](https://redirect.github.com/wekan/wekan/issues/5886): the card sort was kept only in an in-memory Meteor `Session` variable, which resets on page reload, so the chosen sort reverted to the default. The sort is now persisted to `localStorage` and restored on load (sorting and the sort icon). Done: [commit 6aad946bc](https://redirect.github.com/wekan/wekan/commit/6aad946bc). - [Change card's parent shows no cards the first time you select a board](https://redirect.github.com/wekan/wekan/issues/3745), [#​3745](https://redirect.github.com/wekan/wekan/issues/3745): `Template.cardMorePopup`'s `cards()` helper queried `ReactiveCache.getCards({ boardId })` from client minimongo the instant a board was picked, before that board's card subscription had loaded, so the parent-card list was empty the first time (and only worked on reopen, once the data had arrived). It now subscribes with an `onReady` callback and a `parentBoardReady` reactive flag, and the list only renders once the subscription is ready — the same subscription-readiness pattern as the [#​5798](https://redirect.github.com/wekan/wekan/issues/5798) fix. Done: [commit f999b9e74](https://redirect.github.com/wekan/wekan/commit/f999b9e74). and these issues are verified resolved in current code (could not reproduce / no error observed here; re-test on the reporter's data requested): - [#​3826](https://redirect.github.com/wekan/wekan/issues/3826) (cannot reorder cards in a list whose cards have parents): built a **drag-sort reproduction harness** (`tests/playwright/helpers/dragSort.js`) that drives jQuery-UI sortable with a realistic stepped mouse gesture (Playwright's `dragTo()` does not trigger it), plus a regression spec (`tests/playwright/specs/37-card-drag-sort.e2e.js`). Dragging a sub-task card (one with a `parentId`) to a new position in its list **persists** the new order both with a few cards and at 15 cards — it does not revert. - [#​1289](https://redirect.github.com/wekan/wekan/issues/1289) (card with a deleted member user): verified via the Playwright harness — a card whose `members`/`assignees` reference a non-existent user renders its board minicard and opens the card detail with **zero console errors**, so `userAvatar` null-guards missing users correctly. - [#​1389](https://redirect.github.com/wekan/wekan/issues/1389) (edge-to-edge URL makes the description uneditable): the card detail has an explicit edit (pencil) control rather than relying on clicking the rendered text, so a full-width link no longer blocks editing. - [#​5808](https://redirect.github.com/wekan/wekan/issues/5808) (bidirectional cross-board card link makes both cards hang on open): a Playwright repro that mutually links two cards across two boards opens the card detail in \~1s with no errors and no redirect loop — the link only navigates on an explicit click, not on open, so there is no auto-bounce. - [#​5757](https://redirect.github.com/wekan/wekan/issues/5757) (card activities jump to a recent date after changing the due date): activity `createdAt` is set once in the `Activities.before.insert` hook, nothing bulk-updates it, and the UI renders `activity.createdAt` directly — so changing a due date inserts one new `a-dueAt` activity and cannot re-date existing ones. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC93ZWthbiIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvbWlub3IiXX0=--> |
||
|
|
db3cac97af |
fix(grafana): update image docker.io/grafana/grafana 13.0.2 → 13.0.3 (#49398)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/grafana/grafana](https://redirect.github.com/grafana/grafana) | patch | `5dad0df` → `1a34542` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9ncmFmYW5hIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9wYXRjaCJdfQ==--> |
||
|
|
ea847650f7 |
fix(filebrowser): update image docker.io/filebrowser/filebrowser v2.63.15 → v2.63.16 (#49396)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/filebrowser/filebrowser](https://redirect.github.com/filebrowser/filebrowser) | patch | `9805b21` → `a6653eb` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>filebrowser/filebrowser (docker.io/filebrowser/filebrowser)</summary> ### [`v2.63.16`](https://redirect.github.com/filebrowser/filebrowser/releases/tag/v2.63.16) [Compare Source](https://redirect.github.com/filebrowser/filebrowser/compare/v2.63.15...v2.63.16) #### Changelog - [`bd1520f`](https://redirect.github.com/filebrowser/filebrowser/commit/bd1520fe095d2f373f8fbcbfc01f855ade7e90fb) chore(release): 2.63.16 - [`8cfa6a1`](https://redirect.github.com/filebrowser/filebrowser/commit/8cfa6a175f428f89ef2c349e3d43166ee0c60135) chore(docs): update CLI documentation - [`a106392`](https://redirect.github.com/filebrowser/filebrowser/commit/a1063925e15ef27f9d5dc26aae371bbf52af608c) fix: restore symlink behavior as opt-in followExternalSymlinks - [`64511ce`](https://redirect.github.com/filebrowser/filebrowser/commit/64511ce45e3be379e965f7f4fb0929a068d5bb81) fix: dangling symlink, write, delete scope bugs </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9maWxlYnJvd3NlciIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=--> |
||
|
|
1bc2b036cc | fix(strapi): update image docker.io/vshadbolt/strapi 5.48.0 → 5.48.1 (#49400) | ||
|
|
caf12eb7d6 | chore(wordpress): update image docker.io/bitnamisecure/wordpress digest to 9db722f (#49395) | ||
|
|
a1664dd70f |
chore(webtop): update webtop (#49394)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | lscr.io/linuxserver/webtop | digest | `2b28b63` → `12a8db6` | | lscr.io/linuxserver/webtop | digest | `e4cb336` → `e610161` | | lscr.io/linuxserver/webtop | digest | `5c96055` → `a7d334c` | | lscr.io/linuxserver/webtop | digest | `fe38510` → `fdd1160` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC93ZWJ0b3AiLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL2RpZ2VzdCJdfQ==--> |
||
|
|
88ffb70839 |
fix(flexget): update image docker.io/wiserain/flexget 3.19.24 → 3.19.25 (#49397)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/wiserain/flexget](https://redirect.github.com/linuxserver/docker-baseimage-alpine/packages) ([source](https://redirect.github.com/wiserain/docker-flexget)) | patch | `3036996` → `c48712d` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9mbGV4Z2V0IiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9wYXRjaCJdfQ==--> |
||
|
|
5ccdaa02e1 |
feat(n8n): update image ghcr.io/n8n-io/n8n 2.27.3 → 2.28.0 (#49403)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/n8n-io/n8n](https://n8n.io) ([source](https://redirect.github.com/n8n-io/n8n)) | minor | `a772d24` → `ddd2afb` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>n8n-io/n8n (ghcr.io/n8n-io/n8n)</summary> ### [`v2.28.0`](https://redirect.github.com/n8n-io/n8n/blob/HEAD/CHANGELOG.md#2280-2026-06-23) ##### Bug Fixes - **API:** Return 409 when deleting a published workflow ([#​32600](https://redirect.github.com/n8n-io/n8n/issues/32600)) ([1f774c8](https://redirect.github.com/n8n-io/n8n/commit/1f774c8ea1a5550d6ba680cdc60190e2f7b210c9)) - **Bitbucket Trigger Node:** Use account\_id to validate credentials instead of username ([#​30172](https://redirect.github.com/n8n-io/n8n/issues/30172)) ([5dc9c45](https://redirect.github.com/n8n-io/n8n/commit/5dc9c45adc4a82f74300a305a4240949e03a807a)) - Bump form-data, tmp, protobufjs to patched versions ([#​32436](https://redirect.github.com/n8n-io/n8n/issues/32436)) ([a1cfd14](https://redirect.github.com/n8n-io/n8n/commit/a1cfd14de29540efa4386b10c2cccdb1439b9bba)) - Bump protobufjs, js-yaml, [@​opentelemetry/core](https://redirect.github.com/opentelemetry/core) for nightly Trivy ([#​32542](https://redirect.github.com/n8n-io/n8n/issues/32542)) ([2dac96d](https://redirect.github.com/n8n-io/n8n/commit/2dac96d6edc3d2a1f841e5506858b810180318c4)) - Cap ci-filter deepen value and fall back to --unshallow ([#​32581](https://redirect.github.com/n8n-io/n8n/issues/32581)) ([af563c6](https://redirect.github.com/n8n-io/n8n/commit/af563c69b2b02598a52caef52a3de36f1e9a2cc0)) - **Compression Node:** Decompress only the archive members ([#​32486](https://redirect.github.com/n8n-io/n8n/issues/32486)) ([cafc64c](https://redirect.github.com/n8n-io/n8n/commit/cafc64cc082de2092681c27a9d3f91eaf735e9dd)) - **core:** Account for pending CSV uploads in data-table size budget ([#​31394](https://redirect.github.com/n8n-io/n8n/issues/31394)) ([e4757d2](https://redirect.github.com/n8n-io/n8n/commit/e4757d25843e4d27727e7c19576605100315abf0)) - **core:** Change default value of the COOP header ([#​32377](https://redirect.github.com/n8n-io/n8n/issues/32377)) ([b94ff9b](https://redirect.github.com/n8n-io/n8n/commit/b94ff9b47a953ea25542cecc4867873ca6ae0a51)) - **core:** Clean up workflow publication outbox records ([#​32795](https://redirect.github.com/n8n-io/n8n/issues/32795)) ([900c0ea](https://redirect.github.com/n8n-io/n8n/commit/900c0eae4f88294ab7a0d4bd66d8d4ba46ca68c3)) - **core:** Coalesce outbox drains and wait for in-flight processing on shutdown ([#​32548](https://redirect.github.com/n8n-io/n8n/issues/32548)) ([7230fa3](https://redirect.github.com/n8n-io/n8n/commit/7230fa38406af446d19a5a478369c95384d77f21)) - **core:** Drive workflow folder placement through validated parentFolderId ([#​31364](https://redirect.github.com/n8n-io/n8n/issues/31364)) ([0f1c1a8](https://redirect.github.com/n8n-io/n8n/commit/0f1c1a82a431d6e4e460018370fa5ebcc9935660)) - **core:** Evaluate expressions in AI tool description for node-as-to… ([#​31495](https://redirect.github.com/n8n-io/n8n/issues/31495)) ([beba723](https://redirect.github.com/n8n-io/n8n/commit/beba723a8888a761fe349a54cc63d6131cd12b86)) - **core:** Exclude error workflow executions from billable execution count ([#​32315](https://redirect.github.com/n8n-io/n8n/issues/32315)) ([f6c2bcc](https://redirect.github.com/n8n-io/n8n/commit/f6c2bcc6ecd623c3c39eef8b43d388ab6d353a51)) - **core:** Fix error path schema mismatch in mcp tools ([#​32560](https://redirect.github.com/n8n-io/n8n/issues/32560)) ([c91250f](https://redirect.github.com/n8n-io/n8n/commit/c91250f2a733b83dc16fbc05f452e4f8f962d6d1)) - **core:** Handle malformed agent tool calls ([#​32276](https://redirect.github.com/n8n-io/n8n/issues/32276)) ([285e4a9](https://redirect.github.com/n8n-io/n8n/commit/285e4a983a80b00e3b53f7e7d71f166102921ac1)) - **core:** Implement workflow-folder-conflict handling in import process ([#​32391](https://redirect.github.com/n8n-io/n8n/issues/32391)) ([97f45cc](https://redirect.github.com/n8n-io/n8n/commit/97f45ccc7f7d3c5f41db06abd32d38526d3d57b7)) - **core:** Keep $fromAI placeholders intact on fields with expressions disabled ([#​31681](https://redirect.github.com/n8n-io/n8n/issues/31681)) ([43eec00](https://redirect.github.com/n8n-io/n8n/commit/43eec00e6bf6e971737e082ec21a42402f6596c3)) - **core:** Keep thread history when observation cursor lacks observations ([#​32773](https://redirect.github.com/n8n-io/n8n/issues/32773)) ([0197817](https://redirect.github.com/n8n-io/n8n/commit/01978171efbc3bed64bd91255446e4575de7cb71)) - **core:** Let allowlisted Python packages import their own submodules via relative imports ([#​32772](https://redirect.github.com/n8n-io/n8n/issues/32772)) ([46aa8e4](https://redirect.github.com/n8n-io/n8n/commit/46aa8e4af77615f682fc619e3fe6e80eabbec814)) - **core:** Limit execution data size for display reads ([#​32508](https://redirect.github.com/n8n-io/n8n/issues/32508)) ([524d4e8](https://redirect.github.com/n8n-io/n8n/commit/524d4e8fb8443da5d8f996b625be31ebd97f54db)) - **core:** Make workflow evaluations work alongside config evals ([#​32384](https://redirect.github.com/n8n-io/n8n/issues/32384)) ([19eeb5e](https://redirect.github.com/n8n-io/n8n/commit/19eeb5edbd67239a27ab781ce109eb607ff1dc13)) - **core:** Negotiate token\_endpoint\_auth\_method during MCP OAuth2 DCR ([#​32289](https://redirect.github.com/n8n-io/n8n/issues/32289)) ([734af04](https://redirect.github.com/n8n-io/n8n/commit/734af045c58fd1bd8e537930d69aca071a11e5ce)) - **core:** Persist run data for Instance AI trigger executions in queue mode ([#​32498](https://redirect.github.com/n8n-io/n8n/issues/32498)) ([db1e21f](https://redirect.github.com/n8n-io/n8n/commit/db1e21fecf089e3027790104934c7efebec4f51d)) - **core:** Prevent assigning unusable credentials in mcp ([#​32353](https://redirect.github.com/n8n-io/n8n/issues/32353)) ([7ddde95](https://redirect.github.com/n8n-io/n8n/commit/7ddde951cc15907b6ac8fc0b9fe046e9d8de66a8)) - **core:** Propagate execution context to sub-workflow tools ([#​32577](https://redirect.github.com/n8n-io/n8n/issues/32577)) ([09f5888](https://redirect.github.com/n8n-io/n8n/commit/09f588857a7e6ace41e179604fab16dc11d8c380)) - **core:** Propagate stop signal to sub-workflow executions on workers in queue mode ([#​32206](https://redirect.github.com/n8n-io/n8n/issues/32206)) ([ae7f699](https://redirect.github.com/n8n-io/n8n/commit/ae7f699d7814b25cf0a15de53045194d4c391e9d)) - **core:** Request protected-resource scopes during MCP OAuth2 DCR ([#​32300](https://redirect.github.com/n8n-io/n8n/issues/32300)) ([e8ee370](https://redirect.github.com/n8n-io/n8n/commit/e8ee370d7085ba94fd2e2eba6ab6cb254daa351f)) - **core:** Resolve duplicate generated schema fields ([#​32275](https://redirect.github.com/n8n-io/n8n/issues/32275)) ([94594e3](https://redirect.github.com/n8n-io/n8n/commit/94594e3e42b760eb3bb24745f8af087dedf11f7f)) - **core:** Save Instance AI workflow edits through workspace files ([#​32545](https://redirect.github.com/n8n-io/n8n/issues/32545)) ([1e80d41](https://redirect.github.com/n8n-io/n8n/commit/1e80d41e7e19ab0b57a913406fcaaa4127643856)) - **core:** Shorten private-credential OAuth authorization links ([#​32584](https://redirect.github.com/n8n-io/n8n/issues/32584)) ([c1582a6](https://redirect.github.com/n8n-io/n8n/commit/c1582a62a038f7f404cc57907b3afe9ca811f9d6)) - **core:** Stop re-asking answered or skipped clarifying questions ([#​32755](https://redirect.github.com/n8n-io/n8n/issues/32755)) ([9ce241b](https://redirect.github.com/n8n-io/n8n/commit/9ce241b8bf94f3453ab0334f1977382f3b28b441)) - **core:** Support v4 and v5 schemas for strapi consumers ([#​32559](https://redirect.github.com/n8n-io/n8n/issues/32559)) ([d6758db](https://redirect.github.com/n8n-io/n8n/commit/d6758db95b7040f9009728d116235dd3964604be)) - **core:** Surface form submission errors instead of failing silently ([#​32305](https://redirect.github.com/n8n-io/n8n/issues/32305)) ([60ac614](https://redirect.github.com/n8n-io/n8n/commit/60ac61402afef4a168d910086626b0a1f8ed597d)) - **core:** Suspend query acquisition during database connection recovery ([#​32394](https://redirect.github.com/n8n-io/n8n/issues/32394)) ([7440fca](https://redirect.github.com/n8n-io/n8n/commit/7440fca5a3e447648a1cd6c3035377c822dee661)) - **core:** Time out stalled HTTP response body reads ([#​32411](https://redirect.github.com/n8n-io/n8n/issues/32411)) ([50887bf](https://redirect.github.com/n8n-io/n8n/commit/50887bf77e04df1c0da57cfab8c50cde5a737851)) - **core:** Upgrade [@​n8n](https://redirect.github.com/n8n)\_io/license-sdk to v3 and resolve node-rsa to v2 ([#​32552](https://redirect.github.com/n8n-io/n8n/issues/32552)) ([ebbd629](https://redirect.github.com/n8n-io/n8n/commit/ebbd629a6a7a8ef7e5e5b0bf498ccb224cccf283)) - **editor:** Clamp and truncate long workflow descriptions in MCP settings ([#​32104](https://redirect.github.com/n8n-io/n8n/issues/32104)) ([b953709](https://redirect.github.com/n8n-io/n8n/commit/b953709db074535ec7eefcb4c47921bb851d79ef)) - **editor:** Hide function info-box tooltip while typing arguments ([#​32371](https://redirect.github.com/n8n-io/n8n/issues/32371)) ([59971c8](https://redirect.github.com/n8n-io/n8n/commit/59971c86c4154c3343a6fb578661394ecbc96f8f)) - **editor:** Hide template setup button when only disabled nodes lack credentials ([#​32625](https://redirect.github.com/n8n-io/n8n/issues/32625)) ([801bd5f](https://redirect.github.com/n8n-io/n8n/commit/801bd5f417220c3f417889bf734a6e6a3dde5f1b)) - **editor:** Polish API key scope picker radio alignment, contrast and form spacing ([#​32420](https://redirect.github.com/n8n-io/n8n/issues/32420)) ([229560e](https://redirect.github.com/n8n-io/n8n/commit/229560e3bc1e1cf3ebe4eae5ef65c9e89dc48e35)) - **editor:** Preserve existing node IDs when AI edits a workflow ([#​32593](https://redirect.github.com/n8n-io/n8n/issues/32593)) ([cbb9ae5](https://redirect.github.com/n8n-io/n8n/commit/cbb9ae5bda20b922f352be893ee1f3930bb38a1e)) - **editor:** Prevent autosave failure loop after AI builder modifies a workflow ([#​32558](https://redirect.github.com/n8n-io/n8n/issues/32558)) ([4821bed](https://redirect.github.com/n8n-io/n8n/commit/4821bede64075fd19fd682e7a777e481b9aa3b3d)) - **editor:** Prevent drag and drop of a folder onto itself ([#​31510](https://redirect.github.com/n8n-io/n8n/issues/31510)) ([4f8af4d](https://redirect.github.com/n8n-io/n8n/commit/4f8af4dd5f7207b4cac922010f2069b8bc67bb89)) - **editor:** Show a rejection screen when the OAuth consent target is unavailable ([#​32594](https://redirect.github.com/n8n-io/n8n/issues/32594)) ([2c3c67f](https://redirect.github.com/n8n-io/n8n/commit/2c3c67f3da478958748ca1071f3bc88ec74902f6)) - **editor:** Show rotated API keys in the create modal and outline the read-only Close button ([#​32480](https://redirect.github.com/n8n-io/n8n/issues/32480)) ([31e8ddc](https://redirect.github.com/n8n-io/n8n/commit/31e8ddc01696e94548103499615b33af1fd4f492)) - **editor:** Widen callable subworkflow list using callerPolicy in workflow picker ([#​32522](https://redirect.github.com/n8n-io/n8n/issues/32522)) ([f105b34](https://redirect.github.com/n8n-io/n8n/commit/f105b34281a664cbf3d19a87bfe1645a27992201)) - **editor:** Wrap long unbroken strings in tooltip ([#​32345](https://redirect.github.com/n8n-io/n8n/issues/32345)) ([a0b35d5](https://redirect.github.com/n8n-io/n8n/commit/a0b35d553a81d26b425e198cf414d5faaa303f59)) - Extract inline run-report attachments before aggregating sizing ([#​32799](https://redirect.github.com/n8n-io/n8n/issues/32799)) ([c8a3a3c](https://redirect.github.com/n8n-io/n8n/commit/c8a3a3ce3d1b366f3d68f37f536d56bd25f4eb41)) - Fix 26 security issues in electron, axios, undici and 5 more ([#​32688](https://redirect.github.com/n8n-io/n8n/issues/32688)) ([c7fcbb7](https://redirect.github.com/n8n-io/n8n/commit/c7fcbb7a721867c05291466690e44ccfb04ebce0)) - **Form Node:** Evaluate expressions in form fields on subsequent pages ([#​32352](https://redirect.github.com/n8n-io/n8n/issues/32352)) ([35adffa](https://redirect.github.com/n8n-io/n8n/commit/35adffad4b54405041376c1437d94bd1b96db742)) - **Form Trigger Node:** Add default value for authentication parameter to prevent crash on old workflows ([#​32627](https://redirect.github.com/n8n-io/n8n/issues/32627)) ([940f389](https://redirect.github.com/n8n-io/n8n/commit/940f389c6fe8cd2e12942a3ebcaa753e5497900e)) - Handle HTTP raw body validation loops ([#​32277](https://redirect.github.com/n8n-io/n8n/issues/32277)) ([d5dd492](https://redirect.github.com/n8n-io/n8n/commit/d5dd4923a5f2544def3ed2886b60343bbd5b5155)) - Hides preview suggestions on smaller screens due to lack of space ([#​32444](https://redirect.github.com/n8n-io/n8n/issues/32444)) ([ad298e7](https://redirect.github.com/n8n-io/n8n/commit/ad298e7c90d1148b19d6ce8dd28ea9664b57c763)) - **HTTP Request Node:** Preserve all repeated query parameters in cURL import ([#​32253](https://redirect.github.com/n8n-io/n8n/issues/32253)) ([8b01aac](https://redirect.github.com/n8n-io/n8n/commit/8b01aac65c386fb7f1ee956623ae0ff33a501913)) - **Kafka Node:** Route Schema Registry client through configurable egress protection ([#​32370](https://redirect.github.com/n8n-io/n8n/issues/32370)) ([f19d744](https://redirect.github.com/n8n-io/n8n/commit/f19d7448b1a527c4743a114e6d8953e686028f3b)) - **Kafka Trigger Node:** Surface consumer errors instead of waiting indefinitely ([#​32642](https://redirect.github.com/n8n-io/n8n/issues/32642)) ([30b2127](https://redirect.github.com/n8n-io/n8n/commit/30b21277312f844eaa9fd46eead8db53a85ab976)) - Make QA metrics telemetry truly fire-and-forget ([#​32597](https://redirect.github.com/n8n-io/n8n/issues/32597)) ([6e8a7fc](https://redirect.github.com/n8n-io/n8n/commit/6e8a7fcd2d13660f1e3570b28aedef962ef1af88)) - **Microsoft OneDrive Node:** Validate upload file name to replace misleading Graph error ([#​32470](https://redirect.github.com/n8n-io/n8n/issues/32470)) ([f998a1f](https://redirect.github.com/n8n-io/n8n/commit/f998a1f3869d679f9c26ab2108aa1ff4907c79f8)) - **Nextcloud Node:** Fix broken user actions and folder sharing, add internal link share type ([#​32002](https://redirect.github.com/n8n-io/n8n/issues/32002)) ([3767449](https://redirect.github.com/n8n-io/n8n/commit/37674499b0a12211e5221f97601fa434a7451276)) - Prompt to save before manual run with autosave disabled ([#​32513](https://redirect.github.com/n8n-io/n8n/issues/32513)) ([2124c08](https://redirect.github.com/n8n-io/n8n/commit/2124c08c050ac0c4adf996c9e7f128debd3dc2e1)) - RedactValues throws TypeError on null-valued credential fields ([#​32804](https://redirect.github.com/n8n-io/n8n/issues/32804)) ([7ebd0cf](https://redirect.github.com/n8n-io/n8n/commit/7ebd0cf2c5866d95d16a30d86a3c18557a29b233)) - Removes phantom telemetry profile caused by missing user id fallback ([#​32344](https://redirect.github.com/n8n-io/n8n/issues/32344)) ([ef148c6](https://redirect.github.com/n8n-io/n8n/commit/ef148c6cabaf2f4df1f78fa17c31ae5efa148b4c)) - **Salesforce Node:** Reuse JWT session token across requests ([#​32325](https://redirect.github.com/n8n-io/n8n/issues/32325)) ([0e4d2c3](https://redirect.github.com/n8n-io/n8n/commit/0e4d2c3bdbac6cccdb776c6cb324b29ba3f44924)) - **Slack Node:** Handle missing response property in pagination ([#​32328](https://redirect.github.com/n8n-io/n8n/issues/32328)) ([d673064](https://redirect.github.com/n8n-io/n8n/commit/d6730644fa789f7b76780053036bf67973472d03)) - Stop a timed-out background AI builder from respawning itself ([#​32630](https://redirect.github.com/n8n-io/n8n/issues/32630)) ([8c96484](https://redirect.github.com/n8n-io/n8n/commit/8c9648496d1616e16cc32fde06b3e54ccfa082fd)) - Suggest the configured AI provider's chat model when building workflows ([#​32634](https://redirect.github.com/n8n-io/n8n/issues/32634)) ([b294e3d](https://redirect.github.com/n8n-io/n8n/commit/b294e3d51a04d8d8f84565fad1a23b064c3023be)) ##### Features - Add concurrency field to sizing-matrix Topology ([#​32767](https://redirect.github.com/n8n-io/n8n/issues/32767)) ([1c75eb6](https://redirect.github.com/n8n-io/n8n/commit/1c75eb6c25ea88ad32b35a9106e1fcc66a2e33a7)) - Add successful executions to evaluation dataset ([#​32308](https://redirect.github.com/n8n-io/n8n/issues/32308)) ([713094c](https://redirect.github.com/n8n-io/n8n/commit/713094c7ebd41ad7238d84becc581938aeb44a7a)) - **AI Agent Node:** Add binary PDF passthrough for models with native PDF support ([#​28038](https://redirect.github.com/n8n-io/n8n/issues/28038)) ([64c337b](https://redirect.github.com/n8n-io/n8n/commit/64c337bba8c9c03f52d08045fce107eb1e3a3ead)) - **API:** Use scope checks instead of system roles for resource access ([#​32769](https://redirect.github.com/n8n-io/n8n/issues/32769)) ([908bab7](https://redirect.github.com/n8n-io/n8n/commit/908bab7bccb354c49d27ae47c02a4efdf7856092)) - **AWS Transcribe Node:** Add AWS Assume Role authentication ([#​32017](https://redirect.github.com/n8n-io/n8n/issues/32017)) ([038b623](https://redirect.github.com/n8n-io/n8n/commit/038b623a1dc51051f11a5d70d89191909f99ca11)) - **Compression Node:** Add tar and tar.gz support ([#​32547](https://redirect.github.com/n8n-io/n8n/issues/32547)) ([d595631](https://redirect.github.com/n8n-io/n8n/commit/d595631d60fd7403dbd78bce9fa0f0ca414e541e)) - **core:** Add 'workflows-imported' logstreaming event ([#​32488](https://redirect.github.com/n8n-io/n8n/issues/32488)) ([70d4a67](https://redirect.github.com/n8n-io/n8n/commit/70d4a676af896ae95ddde56c9105c2671e39e01d)) - **core:** Add agent heartbeat session metrics ([#​32732](https://redirect.github.com/n8n-io/n8n/issues/32732)) ([fd2cf90](https://redirect.github.com/n8n-io/n8n/commit/fd2cf90a81446116cbe531d1b0a50e0891725488)) - **core:** Add Azure storage mode for execution data ([#​32368](https://redirect.github.com/n8n-io/n8n/issues/32368)) ([1d6415c](https://redirect.github.com/n8n-io/n8n/commit/1d6415cd594403d2271ff52d14effa7977430f11)) - **core:** Add Instance AI error correlation and structured observability ([#​32400](https://redirect.github.com/n8n-io/n8n/issues/32400)) ([f53a648](https://redirect.github.com/n8n-io/n8n/commit/f53a64824c6e6981837902278d4ed6b7652b3ad6)) - **core:** Add knowledge file storage for agents ([#​31956](https://redirect.github.com/n8n-io/n8n/issues/31956)) ([3ae74f1](https://redirect.github.com/n8n-io/n8n/commit/3ae74f10b0169c07dba06f4c26b6e940b4343138)) - **core:** Add knowledge retrieval tools for agents ([#​32485](https://redirect.github.com/n8n-io/n8n/issues/32485)) ([8e5dd83](https://redirect.github.com/n8n-io/n8n/commit/8e5dd83e3b8554448fa50285a7dc1a92b63fc066)) - **core:** Add node-class-description-name-camelcase community node lint rule ([#​32443](https://redirect.github.com/n8n-io/n8n/issues/32443)) ([fb16f72](https://redirect.github.com/n8n-io/n8n/commit/fb16f724a3eb0f0829413b9fb482e4ca41918ced)) - **core:** Add prometheus metrics for detailed metrics on webhook & form workflows ([#​32251](https://redirect.github.com/n8n-io/n8n/issues/32251)) ([b9e7729](https://redirect.github.com/n8n-io/n8n/commit/b9e7729ad658e33b1c705e5c30955b37c720bfa8)) - **core:** Add Prometheus metrics for Instance AI runs ([#​32489](https://redirect.github.com/n8n-io/n8n/issues/32489)) ([4218e1b](https://redirect.github.com/n8n-io/n8n/commit/4218e1b0174244db87b92b15eaa466d1e4530892)) - **core:** Add redirect URLs allow lists to MCP server ([#​24739](https://redirect.github.com/n8n-io/n8n/issues/24739)) ([b513f54](https://redirect.github.com/n8n-io/n8n/commit/b513f54fbec39384d35ad3366a9da80a24ded613)) - **core:** Add support for 'create-stub' mode in credential handling… ([#​32507](https://redirect.github.com/n8n-io/n8n/issues/32507)) ([6b453d9](https://redirect.github.com/n8n-io/n8n/commit/6b453d96b18f50abb89c9b06444be0cecf466096)) - **core:** Enable creation of custom instance (global) roles ([#​32590](https://redirect.github.com/n8n-io/n8n/issues/32590)) ([e60bb4b](https://redirect.github.com/n8n-io/n8n/commit/e60bb4bd0e6e893c67a36bc1efd982765c28b751)) - **core:** Enable scheduled execution deduplication by default ([#​32533](https://redirect.github.com/n8n-io/n8n/issues/32533)) ([dcbdb10](https://redirect.github.com/n8n-io/n8n/commit/dcbdb10a2bb0f3cf7cb164ffa7cedc7e24f520de)) - **core:** Enable thinking modes for instance ai ([#​32768](https://redirect.github.com/n8n-io/n8n/issues/32768)) ([c8e4c76](https://redirect.github.com/n8n-io/n8n/commit/c8e4c7606a7a7f0b5f6a6300a4fdbe911fceb899)) - **core:** Expand secret redaction patterns (JWT, PEM keys, vendor tokens, URL creds) ([#​32440](https://redirect.github.com/n8n-io/n8n/issues/32440)) ([f815269](https://redirect.github.com/n8n-io/n8n/commit/f815269228107a2500a71dca2b9cadc047cf3d39)) - **core:** Gate MCP tool calls on the caller's private-credential status ([#​32446](https://redirect.github.com/n8n-io/n8n/issues/32446)) ([8cac6e7](https://redirect.github.com/n8n-io/n8n/commit/8cac6e7261b5b66adae2aee456eb8d45305de43d)) - **core:** Make MCP and OAuth server IP rate limits configurable via environment variables ([#​32203](https://redirect.github.com/n8n-io/n8n/issues/32203)) ([b34ab3b](https://redirect.github.com/n8n-io/n8n/commit/b34ab3b34d872aa2ba22c4fec21f3936594f066b)) - **core:** OpenAI Responses API support for agent pdf passthrough ([#​32604](https://redirect.github.com/n8n-io/n8n/issues/32604)) ([ade94af](https://redirect.github.com/n8n-io/n8n/commit/ade94af96a10e84cf7ff09f8eb153dce53c02ff6)) - **core:** Prioritize workflow as code over json ([#​32668](https://redirect.github.com/n8n-io/n8n/issues/32668)) ([e11e0b1](https://redirect.github.com/n8n-io/n8n/commit/e11e0b122c6ccee7ed940cdfbaaaa6de34b785ca)) - **core:** Reduce templates complexity in KB ([#​32694](https://redirect.github.com/n8n-io/n8n/issues/32694)) ([9341fdb](https://redirect.github.com/n8n-io/n8n/commit/9341fdb202c35c6bf73b618b9baaa1e3aed022a0)) - **core:** Resolve the triggering user's private credentials over MCP OAuth ([#​32432](https://redirect.github.com/n8n-io/n8n/issues/32432)) ([d6cc6c6](https://redirect.github.com/n8n-io/n8n/commit/d6cc6c655e2911248db5c1d31101a980642be95f)) - **core:** Show required scope badge on Swagger UI operations ([#​32240](https://redirect.github.com/n8n-io/n8n/issues/32240)) ([58ba32d](https://redirect.github.com/n8n-io/n8n/commit/58ba32d94e1ae2b7d6c9f4eaa4146b51259caffe)) - **core:** Support MCP tool filtering for Instance AI MCP connections ([#​31836](https://redirect.github.com/n8n-io/n8n/issues/31836)) ([7a3a190](https://redirect.github.com/n8n-io/n8n/commit/7a3a190d37d602e895e583963a6b46f7e574ac65)) - **core:** Update credential handling in workflows-imported event ([#​32794](https://redirect.github.com/n8n-io/n8n/issues/32794)) ([95a7532](https://redirect.github.com/n8n-io/n8n/commit/95a75320ced1c628f208c9aea95108ba3702ed16)) - Derive picker coverage map from ledger in build-matrix ([#​32721](https://redirect.github.com/n8n-io/n8n/issues/32721)) ([33d38e3](https://redirect.github.com/n8n-io/n8n/commit/33d38e3c1142b902c9b49a7fbf6d430df1259774)) - **editor:** Add owner filter to API keys "All" tab ([#​32430](https://redirect.github.com/n8n-io/n8n/issues/32430)) ([888be28](https://redirect.github.com/n8n-io/n8n/commit/888be2835f1f3dbc8958237d62117e8779db5ec2)) - **editor:** Add Roles settings area with instance roles tab ([#​32775](https://redirect.github.com/n8n-io/n8n/issues/32775)) ([3983a48](https://redirect.github.com/n8n-io/n8n/commit/3983a487a202220bb19230a97526e943172a07e4)) - **editor:** Add rotate action for API keys ([#​32342](https://redirect.github.com/n8n-io/n8n/issues/32342)) ([44d9f3d](https://redirect.github.com/n8n-io/n8n/commit/44d9f3ddf8816529c9c5604947b699ad103ce161)) - **editor:** Improve credential saving UX for OAuth credentials ([#​32653](https://redirect.github.com/n8n-io/n8n/issues/32653)) ([d52762f](https://redirect.github.com/n8n-io/n8n/commit/d52762f6c949a204cd58030c921469c85bce1a7f)) - **editor:** Investigate failed executions on Instance AI editor hand-offs ([#​32675](https://redirect.github.com/n8n-io/n8n/issues/32675)) ([504b282](https://redirect.github.com/n8n-io/n8n/commit/504b2826dc22c867ce68f43c0097a23aaae4a102)) - **editor:** Open the current workflow and credentials in Instance AI from the editor ([#​32398](https://redirect.github.com/n8n-io/n8n/issues/32398)) ([b1687ef](https://redirect.github.com/n8n-io/n8n/commit/b1687ef015f844eb7854864a84473305eeed03c9)) - **editor:** Redesign API key scope picker with grouped tree ([#​32167](https://redirect.github.com/n8n-io/n8n/issues/32167)) ([f6afb39](https://redirect.github.com/n8n-io/n8n/commit/f6afb3933a1ed086b11294fb1bfe298434375969)) - **editor:** Rename n8n Connect usage table header from Model to Resource ([#​32448](https://redirect.github.com/n8n-io/n8n/issues/32448)) ([ade2de9](https://redirect.github.com/n8n-io/n8n/commit/ade2de9c30aab0fb04cf2458271de03db859a2e6)) - **editor:** Render the workflow execution preview natively instead of in an iframe ([#​32296](https://redirect.github.com/n8n-io/n8n/issues/32296)) ([23fb6b9](https://redirect.github.com/n8n-io/n8n/commit/23fb6b977103ea0c7eedb91f7ff0ca6476e7ccd2)) - **editor:** Render workflow history and template previews natively ([#​32468](https://redirect.github.com/n8n-io/n8n/issues/32468)) ([5582bb2](https://redirect.github.com/n8n-io/n8n/commit/5582bb2604839cad564b0d6d09b0757354fb86cf)) - **editor:** Surface execution data size in the executions view ([#​32505](https://redirect.github.com/n8n-io/n8n/issues/32505)) ([084a6d6](https://redirect.github.com/n8n-io/n8n/commit/084a6d614867751ba30f8d930903dfc5c7effd75)) - **GitHub Node:** Add Pull Request resource with create, update, merge, comments, diff and patch ([#​32261](https://redirect.github.com/n8n-io/n8n/issues/32261)) ([86db3e4](https://redirect.github.com/n8n-io/n8n/commit/86db3e4a42d7053c2f27ec929a12b2ee5a571394)) - **Google Ads Node:** Upgrade API from v20 to v21 ([#​32712](https://redirect.github.com/n8n-io/n8n/issues/32712)) ([b91492d](https://redirect.github.com/n8n-io/n8n/commit/b91492d9bd6e56f73becc18505da039ee9df8fbe)) - **Google Calendar Node:** Allow custom OAuth2 scopes ([#​32661](https://redirect.github.com/n8n-io/n8n/issues/32661)) ([7e37945](https://redirect.github.com/n8n-io/n8n/commit/7e37945ad9a233f2d3608500f9e4c50d5ef87a3c)) - **Google Cloud Storage Node:** Allow custom OAuth2 scopes ([#​32659](https://redirect.github.com/n8n-io/n8n/issues/32659)) ([0369d40](https://redirect.github.com/n8n-io/n8n/commit/0369d407191f606dcb4e5daa64ecc868a8f24139)) - **Google Sheets Node:** Allow custom OAuth2 scopes ([#​32660](https://redirect.github.com/n8n-io/n8n/issues/32660)) ([9158556](https://redirect.github.com/n8n-io/n8n/commit/9158556730db27cba790e473062fb39ec4631aa8)) - **Google Sheets Trigger Node:** Add Service Account credential support ([#​32312](https://redirect.github.com/n8n-io/n8n/issues/32312)) ([7b9ba29](https://redirect.github.com/n8n-io/n8n/commit/7b9ba29b147cced759d483d80d3c07223f83b596)) - **instance-ai:** Simulate destructive and user-action nodes during workflow verification ([#​32209](https://redirect.github.com/n8n-io/n8n/issues/32209)) ([f4a1ab6](https://redirect.github.com/n8n-io/n8n/commit/f4a1ab6d99cb3d7570379a873faf81d0a133212f)) - **LoneScale Node:** Add Contact (enrich, source) and Company (search) resources ([#​32009](https://redirect.github.com/n8n-io/n8n/issues/32009)) ([63f464d](https://redirect.github.com/n8n-io/n8n/commit/63f464dacf0c3965147cce458a92f55975ed1e85)) - **Microsoft Excel 365 Node:** Accept the generic Microsoft OAuth2 (Graph) credential ([#​32434](https://redirect.github.com/n8n-io/n8n/issues/32434)) ([e2c59a5](https://redirect.github.com/n8n-io/n8n/commit/e2c59a5a15f79d33bdb051fea856d5b9f1f78f75)) - **Microsoft Graph Security Node:** Support authenticating with the generic Microsoft OAuth2 credential ([#​32529](https://redirect.github.com/n8n-io/n8n/issues/32529)) ([c2a006a](https://redirect.github.com/n8n-io/n8n/commit/c2a006aab899239b4b10495520814119a8a0fca3)) - **Microsoft Outlook Node:** Accept the generic Microsoft OAuth2 (Graph) credential ([#​32531](https://redirect.github.com/n8n-io/n8n/issues/32531)) ([76d9c93](https://redirect.github.com/n8n-io/n8n/commit/76d9c936a2f45e3904610cf7ae6ec5d306e2c48c)) - **Microsoft Teams Node:** Accept the generic Microsoft OAuth2 (Graph) credential ([#​32455](https://redirect.github.com/n8n-io/n8n/issues/32455)) ([93c3c2f](https://redirect.github.com/n8n-io/n8n/commit/93c3c2fb9edf5ea207dc78e5f39f099a3deb6cee)) - **Microsoft To Do Node:** Accept the generic Microsoft OAuth2 (Graph) credential ([#​32492](https://redirect.github.com/n8n-io/n8n/issues/32492)) ([02b2013](https://redirect.github.com/n8n-io/n8n/commit/02b2013aaa76727dd63708f6f464cc4a17f4df15)) - **Microsoft To Do Node:** Allow custom OAuth2 scopes ([#​32538](https://redirect.github.com/n8n-io/n8n/issues/32538)) ([ad8faa6](https://redirect.github.com/n8n-io/n8n/commit/ad8faa66faae64e896972114720cb6f1dce80485)) - **Phantombuster Node:** Add Launch Sync operation ([#​31101](https://redirect.github.com/n8n-io/n8n/issues/31101)) ([2e76cf3](https://redirect.github.com/n8n-io/n8n/commit/2e76cf3b8791b315d871e4364e716a3a4b591138)) - Refactor agent runtime ([#​32293](https://redirect.github.com/n8n-io/n8n/issues/32293)) ([30224e9](https://redirect.github.com/n8n-io/n8n/commit/30224e9a4158a130c70427210c92f95ac81b3d17)) - Settings for MCP Registry server usage in Instance AI ([#​31692](https://redirect.github.com/n8n-io/n8n/issues/31692)) ([097f683](https://redirect.github.com/n8n-io/n8n/commit/097f6837cb77016701474389fe27a7095f1ca876)) - Surface MCP registry connections in the Instance AI sidebar ([#​31748](https://redirect.github.com/n8n-io/n8n/issues/31748)) ([675e5e8](https://redirect.github.com/n8n-io/n8n/commit/675e5e86f6edce89cdbd394fc44637fad7737bd0)) - **Telegram Node:** Add rich message and message draft operations ([#​32173](https://redirect.github.com/n8n-io/n8n/issues/32173)) ([a970e34](https://redirect.github.com/n8n-io/n8n/commit/a970e34ae40e35da423d76b19b874b5491834420)) - **Webhook Node:** Add "Only Run If" option to filter requests ([#​28872](https://redirect.github.com/n8n-io/n8n/issues/28872)) ([d64aeb2](https://redirect.github.com/n8n-io/n8n/commit/d64aeb24b68f9c73f52d9f41b25599fea2794bbd)) - Write per-file mutation coverage back to the ledger row ([#​32716](https://redirect.github.com/n8n-io/n8n/issues/32716)) ([a084bd8](https://redirect.github.com/n8n-io/n8n/commit/a084bd8ab97847c2d91bdbf9d81f3ca0878de2d3)) ##### Performance Improvements - **core:** Improve performance of pre-execution workflow checks ([#​32363](https://redirect.github.com/n8n-io/n8n/issues/32363)) ([aaa4fa8](https://redirect.github.com/n8n-io/n8n/commit/aaa4fa861088621a07ce69a3692e916318ba1703)) - **core:** Move Instance AI clock out of the cached prompt prefix ([#​32452](https://redirect.github.com/n8n-io/n8n/issues/32452)) ([630d57e](https://redirect.github.com/n8n-io/n8n/commit/630d57e3afb830745a31335a2585312e64176509)) - **core:** Stabilize Instance AI prompt-cache prefix across turns ([#​32404](https://redirect.github.com/n8n-io/n8n/issues/32404)) ([1ea6f59](https://redirect.github.com/n8n-io/n8n/commit/1ea6f590e0ac1594b9ed1d2e7b2adb3143a4fb7f)) - **editor:** Defer AI assistant markdown decoration and fix resource chip clicks ([#​32160](https://redirect.github.com/n8n-io/n8n/issues/32160)) ([2fef949](https://redirect.github.com/n8n-io/n8n/commit/2fef94956583cba9d7eaf254b380a7309cac0171)) - Set ignoreStatic in mutation-health default Stryker config ([#​32720](https://redirect.github.com/n8n-io/n8n/issues/32720)) ([05ef0a5](https://redirect.github.com/n8n-io/n8n/commit/05ef0a528f358aec14a982eb7bcbde3c77a13a59)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9uOG4iLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19--> |
||
|
|
0b6edeb7f3 |
chore(valkey): update image docker.io/bitnamisecure/valkey digest to 08d2c29 (#49393)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | docker.io/bitnamisecure/valkey | digest | `bcb8664` → `08d2c29` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC92YWxrZXkiLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL2RpZ2VzdCJdfQ==--> |
||
|
|
fcb7765413 | chore(prowlarr): update image oci.trueforge.org/containerforge/prowlarr digest to 4a3577a (#49390) | ||
|
|
50c05e2ca1 | chore(radarr): update image oci.trueforge.org/containerforge/radarr digest to 923b996 (#49391) | ||
|
|
44ed6effea |
chore(kdenlive): update image lscr.io/linuxserver/kdenlive digest to d77fd35 (#49388)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | lscr.io/linuxserver/kdenlive | digest | `e87b6d5` → `d77fd35` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9rZGVubGl2ZSIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvZGlnZXN0Il19--> |
||
|
|
23c9f4255f |
feat(zwavejs2mqtt): update image docker.io/zwavejs/zwave-js-ui 11.20.0 → 11.21.1 (#49405)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/zwavejs/zwave-js-ui](https://redirect.github.com/zwave-js/zwave-js-ui) | minor | `e6b829b` → `1193b96` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>zwave-js/zwave-js-ui (docker.io/zwavejs/zwave-js-ui)</summary> ### [`v11.21.1`](https://redirect.github.com/zwave-js/zwave-js-ui/blob/HEAD/CHANGELOG.md#11211-2026-06-23) [Compare Source](https://redirect.github.com/zwave-js/zwave-js-ui/compare/v11.20.0...v11.21.1) ##### 🐛 Bug Fixes - confine store paths against the resolved store dir ([#​4685](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4685)) ([a5dc881](https://redirect.github.com/zwave-js/zwave-js-ui/commit/a5dc881fdfbeadfb016563a770d729d757f5f152)), closes [pre-#​4678](https://redirect.github.com/zwave-js/pre-/issues/4678) [#​4678](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4678) - don't return password hash in `PUT /api/password` response ([#​4687](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4687)) ([4b0b7d6](https://redirect.github.com/zwave-js/zwave-js-ui/commit/4b0b7d6be496f3b5c49b6fb55757ddf539e7675b)) - prevent symlinks from escaping the store directory ([#​4678](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4678)) ([592e1b8](https://redirect.github.com/zwave-js/zwave-js-ui/commit/592e1b86d9479d943f04003c56d16e40beab0f66)) - refresh broadcast virtual nodes to avoid querying removed nodes ([#​4688](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4688)) ([8c1981e](https://redirect.github.com/zwave-js/zwave-js-ui/commit/8c1981e1ced2b01e98edbb2ee0f8b4db790f4033)), closes [#​4677](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4677) [#​4677](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4677) - **ui:** separate virtual and physical devices in nodes table ([#​4673](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4673)) ([3a80ce6](https://redirect.github.com/zwave-js/zwave-js-ui/commit/3a80ce6e6d9dc2a9134f3e32e41d85bd2a08392e)), closes [#​4672](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4672) - write self-signed TLS key/cert with owner-only permissions ([#​4686](https://redirect.github.com/zwave-js/zwave-js-ui/issues/4686)) ([2f62656](https://redirect.github.com/zwave-js/zwave-js-ui/commit/2f626565557204daa3c5114615d38efa4a37f159)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC96d2F2ZWpzMm1xdHQiLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19--> |
||
|
|
5b6994a1c8 |
fix(octoprint): update image docker.io/octoprint/octoprint 1.11.7 → 1.11.8 (#49399)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/octoprint/octoprint](https://redirect.github.com/OctoPrint/octoprint-docker) | patch | `49bea4e` → `5ea0181` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9vY3RvcHJpbnQiLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19--> |
||
|
|
fa571597e1 |
chore(redis): update image docker.io/bitnamisecure/redis digest to 68ea50c (#49392)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | docker.io/bitnamisecure/redis | digest | `d842c43` → `68ea50c` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9yZWRpcyIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvZGlnZXN0Il19--> |
||
|
|
a037191dcc |
chore(drawio): update image docker.io/jgraph/drawio digest to 74d11af (#49387)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/jgraph/drawio](https://www.drawio.com) ([source](https://redirect.github.com/jgraph/docker-drawio)) | digest | `373cfbe` → `74d11af` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9kcmF3aW8iLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL2RpZ2VzdCJdfQ==--> |
||
|
|
3951990279 | fix(speedtest-tracker): update image ghcr.io/linuxserver/speedtest-tracker 1.14.4 → 1.14.5 (#49384) | ||
|
|
2271ae5af8 | feat(pocketmine-mp): update image ghcr.io/pmmp/pocketmine-mp 5.43.2 → 5.44.1 (#49385) | ||
|
|
2bc7d533e6 | chore(syslog-ng): update image docker.io/balabit/syslog-ng digest to 2162f85 (#49381) | ||
|
|
00010914c4 |
fix(kubernetes-reflector): update image ghcr.io/emberstack/kubernetes-reflector 10.0.50 → 10.0.51 (#49383)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/emberstack/kubernetes-reflector](https://redirect.github.com/emberstack/kubernetes-reflector) | patch | `060c0b5` → `8703338` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes <details> <summary>emberstack/kubernetes-reflector (ghcr.io/emberstack/kubernetes-reflector)</summary> ### [`v10.0.51`](https://redirect.github.com/emberstack/kubernetes-reflector/releases/tag/v10.0.51) [Compare Source](https://redirect.github.com/emberstack/kubernetes-reflector/compare/v10.0.50...v10.0.51) The release process is automated. #### What's Changed - build(deps): bump actions/checkout from 6 to 7 in the all-dependencies group by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​667](https://redirect.github.com/emberstack/kubernetes-reflector/pull/667) - Bump the all-dependencies group with 6 updates by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​668](https://redirect.github.com/emberstack/kubernetes-reflector/pull/668) **Full Changelog**: <https://github.com/emberstack/kubernetes-reflector/compare/v10.0.50...v10.0.51> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9rdWJlcm5ldGVzLXJlZmxlY3RvciIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=--> |
||
|
|
b2d57c44b1 |
chore(projectsend): update image ghcr.io/linuxserver/projectsend digest to 899592e (#49380)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | ghcr.io/linuxserver/projectsend | digest | `7051aab` → `899592e` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9wcm9qZWN0c2VuZCIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvZGlnZXN0Il19--> |
||
|
|
0ff49b0f68 |
chore(nextcloud): update image docker.io/clamav/clamav digest to c17762a (#49378)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/clamav/clamav](https://redirect.github.com/Cisco-Talos/clamav.git) ([source](https://redirect.github.com/Cisco-Talos/clamav)) | digest | `8df57e5` → `c17762a` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9uZXh0Y2xvdWQiLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL2RpZ2VzdCJdfQ==--> |
||
|
|
5ab208d971 |
chore(digikam): update image ghcr.io/linuxserver/digikam digest to 6072c8c (#49377)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/linuxserver/digikam](https://redirect.github.com/linuxserver/docker-digikam/packages) ([source](https://redirect.github.com/linuxserver/docker-digikam)) | digest | `86cb8fc` → `6072c8c` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9kaWdpa2FtIiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9kaWdlc3QiXX0=--> |
||
|
|
a75df071f8 |
chore(cloudflareddns): update image oci.trueforge.org/containerforge/cloudflareddns digest to 94678b4 (#49375)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [oci.trueforge.org/containerforge/cloudflareddns](https://ghcr.io/trueforge-org/cloudflareddns) ([source](https://www.hotio.dev)) | digest | `6ed7231` → `94678b4` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9jbG91ZGZsYXJlZGRucyIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvZGlnZXN0Il19--> |
||
|
|
14a350d658 |
chore(tvheadend): update image ghcr.io/linuxserver/tvheadend digest to 62ce7b5 (#49382)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | ghcr.io/linuxserver/tvheadend | digest | `708222e` → `62ce7b5` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC90dmhlYWRlbmQiLCJhdXRvbWVyZ2UiLCJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL2RpZ2VzdCJdfQ==--> |
||
|
|
8b53110576 |
chore(openvscode-server): update image ghcr.io/linuxserver/openvscode-server digest to f54894b (#49379)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/linuxserver/openvscode-server](https://redirect.github.com/linuxserver/docker-openvscode-server/packages) ([source](https://redirect.github.com/linuxserver/docker-openvscode-server)) | digest | `47cfb70` → `f54894b` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9vcGVudnNjb2RlLXNlcnZlciIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvZGlnZXN0Il19--> |
||
|
|
7bd64017d7 |
chore(broadcast-box): update image seaduboi/broadcast-box digest to 30c0817 (#49374)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | seaduboi/broadcast-box | digest | `1d45a63` → `30c0817` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9icm9hZGNhc3QtYm94IiwiYXV0b21lcmdlIiwicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9kaWdlc3QiXX0=--> |
||
|
|
7ef3a2afea |
feat(openobserve): update image public.ecr.aws/zinclabs/openobserve v0.90.3 → v0.91.0 (#49370)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | public.ecr.aws/zinclabs/openobserve | minor | `f778561` → `e4d9eeb` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9vcGVub2JzZXJ2ZSIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvbWlub3IiXX0=--> --------- Signed-off-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com> Co-authored-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com> |