Repository navigation
Release 0.3.0 - #2443
Merged
Merged
Release 0.3.0#2443
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…in and nesting scanners; GPU counter test reads a fresh child; RAG repair output compared whitespace-normalised Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the last baseline The pathsafe, netpolicy and config floors are lowered to their measured scores because trust-boundary functions changed since the last baseline without a mutation run; their new survivors are recorded as known test gaps. The auth and tls floors rise to their measured scores. Seven controls are re-pinned to the mutants that now express their class. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The validation-error handler shows a raw (non-JSON) body recorded as the error input as bounded text decoded with replacement, so bytes that are not valid UTF-8 no longer crash the handler into a 500. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the embedder on the CPU Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ses in its progress reporter huggingface_hub routes a Xet download's transfer bytes through the single progress bar localm passes as tqdm_class, calling update_transfer and set_transfer_postfix_str on it; the reporter now implements both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ing instead of stopping startup Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he unreadable file under its own name Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…em prompt Claude Code sends a system-role message (with cache_control) inside messages; its text blocks are appended, in order, to the leading system prompt instead of refusing the request with a 400. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…is not attached by a shared family name Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the reply and never reaches the text Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…calling it unloaded Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…settings apply to the same model Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ntical source are recorded as unstable Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…l command Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ve path; a fourth flipping tls mutant is unstable Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ad as empty Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a decoder fault Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ed as a weights warning Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d of always claiming both models fit Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… music files never fill an image slot; architecture-less FLUX GGUF components are recognised Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…claring its parameter Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s no capable model is installed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cannot read offers the model that can, one click away The refusal carries the routing decision (X-Localm-Model-Routing, or localm_error.routing on a stream opened before preparation ended), so the chat can name the suggested model; clicking the offer puts the attachment back, selects that model and sends the turn again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… string check instead of a regex Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…istory is summarised in rolling passes The summariser request carried every older turn and asked for 1024 tokens with no budget against the window, so on a small window the server refused it and the chat kept only excerpts. Each request (prompt plus max_tokens plus a chat-template margin) is now sized to the window the caller knows (GUI chat.ctxMax, the engine capacity on the server and CLI, the coder's window); older turns that do not fit one request are summarised oldest first, each pass carrying the summary so far, with at most eight passes. The reply budget is a quarter of a small window, capped at 512 (1024 for the coder). A failed pass falls back to the excerpt digest as before; a GUI abort between passes leaves the conversation unchanged. A window that is unknown keeps one request. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d with the deep-nesting guard Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cuts 0.3.0: version 0.3.0 in VERSION, pyproject.toml, localm/init.py and uv.lock, and the changelog's unreleased section becomes
## [0.3.0]with a fresh empty[Unreleased]above it.The 0.3.0 notes list only what changed for someone coming from 0.2.0: fixes to features that first appear in 0.3.0 are folded into those features' own entries or dropped, and wording that described a 0.2.0 state that never shipped is corrected.
🤖 Generated with Claude Code