๐Ÿก


to read (pdf)

  1. I don't want your PRs anymore
  2. JitterDropper | OALABS Research
  3. DomainTools Investigations | DPRK Malware Modularity: Diversity and Functional Specialization
  4. EXHIB: A Benchmark for Realistic and Diverse Evaluation of Function Similarity in the Wild
  5. Neobrutalism components - Start making neobrutalism layouts today

  1. June 18, 2026
    1. ๐Ÿ”— HexRaysSA/plugin-repository commits Fix/EA-762 cap ida versions (#32) rss
      Fix/EA-762 cap ida versions (#32)
      
      * fix(merger): cap idaVersions at latest released IDA (EA-762)
      
      The upstream HCLI index expands open-ended specs like >=9.0 into a concrete
      list that includes unreleased placeholders (e.g. 10.0), so plugin pages
      advertised compatibility with non-existent IDA releases.
      
      - cap_ida_versions() trims idaVersions to <= the latest released IDA in both
        transform paths (sp-aware comparison); prettified ranges follow.
      - LATEST_RELEASED_IDA resolves from env, defaulting to a reviewed constant.
      - justfile + deploy.yml derive it dynamically from the hcli download catalog
        (hcli download --list-tags, authed via HCLI_API_KEY in CI); falls back to the
        default when hcli is unavailable/unauthenticated, so the build never fails.
      
      Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
      * revert(EA-762): drop hcli download --list-tags wiring; keep env-overridable cap
      
      plugin-repository is public, so we don't want a Hex-Rays portal API key in CI
      even as a secret. Remove the hcli-based dynamic derivation from the justfile
      (latest-ida recipe) and deploy.yml (HCLI_API_KEY + --list-tags).
      
      idaVersions are still capped via merge_plugins.py's LATEST_RELEASED_IDA โ€” a
      reviewed default (9.4) overridable with the LATEST_RELEASED_IDA env var when a
      new IDA ships. No auth, no secret.
      
      Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
      * chore(EA-762): drop redundant cap comments from justfile and deploy.yml
      
      The override mechanism is documented at LATEST_RELEASED_IDA in merge_plugins.py;
      these were duplicate notes on now-generic merger invocations.
      
      * feat(EA-762): derive LATEST_RELEASED_IDA from hcli download catalog in CI
      
      Re-introduce the dynamic IDA-version cap: justfile (latest-ida recipe + dynamic
      merge-plugins) and deploy.yml derive LATEST_RELEASED_IDA from
      `hcli download --list-tags`, authenticated via the HCLI_API_KEY repo secret.
      Falls back to merge_plugins.py's reviewed default when hcli is unavailable or
      unauthenticated, so the build never fails on this.
      
      A GitHub Actions secret is encrypted, runtime-only and log-masked (not in the
      public source); neither sync nor deploy runs on fork pull_request, so there is
      no fork-PR exfiltration path. Use a dedicated download-scoped portal key.
      
      Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
      ---------
      
      Co-authored-by: fnania <fnania@hex-rays.com>
      Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
    2. ๐Ÿ”— Console.dev newsletter databow rss

      Description: CLI to query any ADBC database.

      What we like: Run SQL against any ADBC database e.g. DuckDB, BigQuery, Postgres, SQLite. Syntax highlights the query. Output in a table, CSV, JSON, or Apache Arrow. Supports non-interactive queries from the CLI rather than using the TUI.

      What we dislike: Requires an ADBC driver to exist, which means you canโ€™t query some popular databases like MySQL, Clickhouse, etc.

    3. ๐Ÿ”— Console.dev newsletter Epiq rss

      Description: Issue tracker backed by Git.

      What we like: Manage issues from a TUI, locally-backed by Git so issues live with the code. Works offline and uses append-only events to avoid conflicts (later events take precedence). Uses worktrees to isolate sync from the main dev workflow. Built in kanban board and a web UI.

      What we dislike: The tradeoff is no public web UI for others to view / submit issues.

  2. June 17, 2026
    1. ๐Ÿ”— IDA Plugin Updates IDA Plugin Updates on 2026-06-17 rss

      IDA Plugin Updates on 2026-06-17

      Activity:

    2. ๐Ÿ”— Simon Willison GLM-5.2 is probably the most powerful text-only open weights LLM rss

      Chinese AI lab Z.ai released GLM-5.2 to their coding plan subscribers on June 13th, and then yesterday (June 16th) released the full open weights under an MIT license. Similar in size to their previous GLM-5 and GLM-5.1 releases, this is 753B parameter, 1.51TB monster - with 40 active parameters (Mixture of Experts). GLM-5.2 is a text input only model - Z.ai have a separate vision family most recently represented by GLM-5V-Turbo, but that one isn't open weights. GLM-5.2 has a 1 million token context window, up from GLM-5.1's 200,000.

      The buzz around this model is strong.

      Artificial Analysis, who run one of the most widely respected independent benchmarks: GLM-5.2 is the new leading open weights model on the Artificial Analysis Intelligence Index.

      GLM-5.2 is the leading open weights model on the Intelligence Index v4.1. At 51, it leads MiniMax-M3 (44), DeepSeek V4 Pro (max, 44) and Kimi K2.6 (43)

      They did however find it to be quite token-hungry:

      GLM-5.2 uses more output tokens per task than other leading open weights models: the model uses 43k output tokens per Intelligence Index task, up from GLM-5.1 (26k) and above MiniMax-M3 (24k), Kimi K2.6 (35k) and DeepSeek V4 Pro (max, 37k)

      The model is also now ranked 2nd on the Code Arena WebDev leaderboard, behind only Claude Fable 5. That leaderboard measures "front-end web development tasks, including agentic coding workflows". I'm impressed to see it rank so highly given the lack of image input, which I had incorrectly assumed was a key part of building a truly great frontend coding model.

      I've been trying it out via OpenRouter, which has it from 9 different providers, almost all of which are charging $1.40/million for input and $4.40/million for output. For comparison, GPT-5.5 is $5/$30 and Claude Opus 4.5-4.8 is $5/$25.

      Excellent pelican, disappointing opossum

      GLM-5.1 gave me one of my favorite pelicans and my all time favorite opossum (for the prompt "Generate an SVG of a NORTH VIRGINIA OPOSSUM ON AN E-SCOOTER".) Interestingly, in both of those cases the model chose to return SVG wrapped in an HTML document that added additional animations using CSS.

      Let's try GLM-5.2. For "Generate an SVG of a pelican riding a bicycle" I got this:

      It's a really good bicycle - all the right bits, spokes on the wheels, wheels and pedals rotating - and a very good pelican, red scarf, good beak, bobbing up and down. The feet don't stay on the pedals though.

      It's a self-contained fully animated SVG, and the animations aren't broken! Often I'll see eyes falling off or wheels rotating independently of the bicycle but here everything works great. It's a very nice vector illustration of a pelican too. Very impressive.

      Sadly, the NORTH VIRGINIA OPOSSUM ON AN E-SCOOTER did not come out nearly as well:

      Weird background gridlines, scooter is green and not very scooter like, possum is wearing a red safety helmet and has a hairy tail but is hardly recognizable as a possum. It's just bad.

      This is such a step down from GLM-5.1! As a reminder, that possum looked like this:

      This is so great. It's dark, the possum is clearly a possum, it's riding an escooter, lovely animation, tail bobbing up and down, caption says NORTH VIRGINIA OPOSSUM, CRUISING THE COMMONWEALTH SINCE DUSK - only glitch is that it occasionally blinks and the eyes fall off the face

      5.2 didn't even try to animate it.

      You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options.

    3. ๐Ÿ”— r/LocalLLaMA I released Inflect-Nano, an ultra-extreme tiny 4.63m parameter TTS model. rss

      I released Inflect-Nano, an ultra-extreme tiny 4.63m parameter TTS model. | Iโ€™ve been experimenting with how small a usable neural TTS model can realistically get, and I just released Inflect-Nano-v1. Inflect-Nano is one of the smallest TTS models, and it performs surprisingly well for its model weight. Even if you have a certified potato computer, it can run on that. It is not SOTA, and Iโ€™m not pretending it beats large models. The interesting part is the size-to-functionality ratio: - 4.63M total inference params - 3.46M acoustic model - 1.17M vocoder - 24 kHz audio - English-only, single male voice - Runs locally with a simple PyTorch inference script For comparison, it is ~17x smaller than Kokoro , ~108x smaller than Chatterbox , and almost 1000x smaller than Fish Audio S2 Pro. The quality is still limited: it can sound robotic, stumble on difficult, unseen text, and the vocoder is also a big bottleneck. But for under 5M parameters total, I think it is an interesting baseline for extremely tiny local speech synthesis, offline assistants, embedded devices, browser/WASM-style projects, and local voice agents. Model : https://huggingface.co/owensong/Inflect-Nano-v1 (audio examples in README) Iโ€™d love feedback, especially from people interested in tiny models, local voice assistants, efficient inference, or small vocoders. If people find it useful and the model is successful, I'm open to making a v2 with a much larger training budget! submitted by /u/b111ue
      [link] [comments]
      ---|---

    4. ๐Ÿ”— anthropics/claude-code v2.1.181 release

      What's changed

      • Added /config key=value syntax to set any setting from the prompt (e.g. /config thinking=false) โ€” works in interactive, -p, and Remote Control
      • Added sandbox.allowAppleEvents opt-in setting that lets sandboxed commands send Apple Events on macOS
      • Added CLAUDE_CLIENT_PRESENCE_FILE environment variable: point it at a marker file to suppress mobile push notifications while you're at the machine
      • Upgraded the bundled Bun runtime to 1.4
      • Improved streaming of long paragraphs: text now appears line-by-line instead of waiting for the first line break
      • Improved auto-retry: API connection drops mid-thinking now automatically retry instead of showing "Connection closed while thinking"
      • Improved the subagent panel: idle subagents auto-hide after 30s, the list caps at 5 rows with scroll hints, and keyboard hints now show in the footer
      • Improved the MCP OAuth browser page to match Claude Code's visual style and auto-close on success
      • Changed fullscreen mode URL opening to require Cmd+click (macOS) / Ctrl+click, matching native terminal behavior
      • Changed the Improved N memories line to no longer list individual files outside verbose mode
      • Fixed prompt caching not reading on custom ANTHROPIC_BASE_URL and on Foundry due to a per-request attestation token changing every turn
      • Fixed Write/Edit producing 0-byte or truncated files on network drives and cloud-synced folders
      • Fixed open, osascript, and browser-based auth flows failing with error -600 on macOS by adding the Apple Events entitlement
      • Fixed a startup regression (~120ms per launch in fresh environments, introduced in 2.1.169): the first prompt no longer waits for the managed-settings fetch when no MCP servers are configured
      • Fixed startup blocking with a blank terminal for up to 15 seconds when the account settings fetch is slow on a degraded network
      • Fixed startup crash (TypeError: Cannot read properties of null) when .claude.json contains corrupted null project entries
      • Fixed macOS TUI freezing at session start (Ctrl+C unresponsive) when Spotlight is busy reindexing
      • Fixed long-running idle sessions losing their history when another Claude Code process ran the 30-day transcript cleanup
      • Fixed foreground subagents spawning unbounded nested chains; they now respect the same 5-level depth limit as background subagents
      • Fixed /recap and conversation forks using the previous model immediately after a model switch
      • Fixed subagent "Thinking" duration showing the parent agent's elapsed time instead of the subagent's own
      • Fixed subagents blocked on a nested agent showing a ticking elapsed time instead of "waiting" in the agent panel
      • Fixed the API retry indicator ("Retrying in 0s ยท attempt N/10") staying on screen after the retry succeeded
      • Fixed AWS awsCredentialExport credentials with a short remaining lifetime causing credential refreshes every minute, and now accepts the JSON shape from aws configure export-credentials
      • Fixed claude mcp get/list showing โœ“ Connected when tools/list fails; they now show ! Connected ยท tools fetch failed with the error detail
      • Fixed /remote-control leaving a stale "connectingโ€ฆ" line; it now confirms in the transcript once connected
      • Fixed ExitWorktree refusing to remove a clean worktree with "Could not verify worktree state" when bare git cannot be resolved on Windows
      • Fixed settings changes (such as /effort or /model) failing with ENOENT when ~/.claude/settings.json is a relative symlink under a symlinked ~/.claude
      • Fixed IDE selection line numbers in context reminders being off by one (IntelliJ and VS Code)
      • Fixed Ctrl+C in fullscreen after a native terminal selection (modifier+drag) overwriting the clipboard with the app's prior selection
      • Fixed Ctrl+V showing "No image found in clipboard" instead of pasting when the clipboard contains text
      • Fixed agent creation failing with "EEXIST: file already exists" when the agents directory already exists (Windows/OneDrive)
      • Fixed AskUserQuestion preview content being cut off at the dialog edge instead of word-wrapping
      • Fixed AskUserQuestion multi-select questions silently dropping a typed "Other" free-text answer when submitting
      • Fixed /stats "Most active day" and daily token chart dates showing one day early in UTC-negative timezones
      • Fixed /copy and copy-on-select on Linux not detecting a clipboard utility installed after Claude Code started
      • Fixed tab-indented code rendering with incorrect indentation in the Write (create-file) preview
      • Fixed user prompts queued mid-turn not showing a full-width background highlight in the transcript
      • Fixed the activity spinner's pulse dwelling on the wrong glyph size in Ghostty
    5. ๐Ÿ”— r/LocalLLaMA Gemma 4 E2B running in-browser at 255 tok/s using WebGPU kernels written by Fable 5 rss

      Gemma 4 E2B running in-browser at 255 tok/s using WebGPU kernels written by Fable 5 | Before Fable 5 was shutdown, it helped us optimize our Gemma 4 WebGPU kernels, reaching around 255 tokens per second on my M4 Max. Today, we're releasing the demo and kernels for you to try out yourself. Hope you find it interesting! Links:
      - Demo (+ kernels): https://huggingface.co/spaces/webml- community/gemma-4-webgpu-kernels
      - Model: https://huggingface.co/google/gemma-4-E2B-it-qat-mobile- transformers submitted by /u/xenovatech
      [link] [comments]
      ---|---

    6. ๐Ÿ”— @HexRaysSA@infosec.exchange โฑ๏ธ IDA 9.4 pre-release teasers start now. mastodon

      โฑ๏ธ IDA 9.4 pre-release teasers start now.
      First up: wider processor and platform support.

      The upcoming release adds a Qualcomm Hexagon module, MCore and C-SKY V1, complete AArch64 SVE/SME, improved TriCore analysis with proper calling conventions, and expanded RISC-V coverage including Hazard3/RP2350 and new vendor extensions.

      ๐Ÿ‘‰ https://hex-rays.com/blog/ida-9.4-wider-processor-and-platform- support

    7. ๐Ÿ”— roboflow/supervision supervision-0.29.0.post release

      Full Changelog : 0.29.0...0.29.0.post0

    8. ๐Ÿ”— Jessitron Symmathesy and Ai with Kent Beck rss
    9. ๐Ÿ”— r/LocalLLaMA GLM-5.2 is a win for local AI rss

      I know GLM 5.2's massive 753B footprint means none of us are running it at home without an enterprise cluster, but having a true frontier-level, MIT- licensed coding agent out in the wild makes me optimistic. The distillation potential here is massive. Once the community starts fine-tuning smaller 8B and 70B architectures on GLM 5.2's reasoning and synthetic datasets, our daily driver local setups are going to see huge improvements over the next few months.

      Edit: I did not expect so many people saying they can run it on local hardware. Here is the data spec:

      Quantization Level | Memory Required | Minimum Hardware Setup
      ---|---|---
      FP8 Weights | 744 GB to 890 GB | 8x H200 (141GB) or 8x H100 (80GB) server node
      4-bit (Q4_K_M) | 476 GB to 500 GB | Mac Studio cluster or 6x 80GB enterprise GPUs
      2-bit (Q2_K_XL) | 241 GB to 280 GB | Single 256GB Mac Studio (Ultra) or RTX 4090 + 256GB system RAM
      1-bit Dynamic | 176 GB to 180 GB | 192GB Mac Studio or 24GB GPU + 192GB system RAM

      Model & Dataset Facts

      • Pre-Training Data: Trained on a corpus of 28.5 trillion tokens.
      • Architecture Scale: 753B total parameters, activating roughly 40B parameters per token during inference.
      • Context Capacity: Natively supports a 1,000,000-token context window and up to 131,072 output tokens per response.

      KV Cache VRAM Scaling (Per 100k / 1M Tokens)

      Utilizing the 1M context window requires significant additional VRAM strictly for the KV cache. This scaling depends entirely on your cache quantization:

      • 16-bit (FP16/BF16): Adds 15โ€“20 GB per 100k tokens (~150โ€“200 GB extra for the full 1M context).
      • 8-bit (FP8/INT8): Adds 7.5โ€“10 GB per 100k tokens (~75โ€“100 GB extra for the full 1M context). This balances accuracy and memory.
      • 4-bit (INT4): Adds 3.5โ€“5 GB per 100k tokens (~35โ€“50 GB extra for the full 1M context). Drastically lowers memory requirements but can degrade long-context retrieval accuracy.

      NOTE: I gathered this information online and these are estimates. For full transparency, I did use AI to generate the table and break the data down. I lack the editing patience to format this all myself...I am only human!

      submitted by /u/Wrong_Mushroom_7350
      [link] [comments]

    10. ๐Ÿ”— gchq/CyberChef v11.2.0 release

      See the CHANGELOG and commit messages for details.

    11. ๐Ÿ”— pydantic/pydantic-ai-harness v0.4.0 (2026-06-17) release

      What's Changed

      • feat: add FileSystem and Shell capabilities by @strawgate in #260
      • feat(logfire): add ManagedPrompt capability by @dmontagu in #257
      • feat: add Planning capability with cache-safe plan reminders (experimental) by @strawgate in #266
      • feat: add SubAgents capability for task delegation (experimental) by @strawgate in #267
      • Add StepPersistence capability for step-event durability across delegates (experimental) by @dsfaccini in #251
      • Add experimental compaction menu: SummarizingCompaction, ClearToolResults, DeduplicateFileReads, TieredCompaction by @DouweM in
        #191

      • feat(compaction): add ClampOversizedMessages for runaway generations (experimental) by @dsfaccini in #286

      • feat(experimental): OverflowingToolOutput capability for oversized tool returns by @dsfaccini in #290
      • feat(subagents): per-delegate run controls (usage limits, timeout, call budget, soft-failure) (experimental) by @dsfaccini in #283
      • feat(shell): control subprocess environment to stop secret inheritance by @dsfaccini in #284
      • Add host-backed OS and filesystem access to CodeMode sandbox by @adtyavrdhn in #262
      • Add CodeMode dynamic_catalog flag for cache-stable tool disclosure by @DouweM in #243
      • ci: add pydantic-ai v2 beta early-warning job and make code_mode v1/v2 compatible by @adtyavrdhn in #291

      New Contributors

      Full Changelog : v0.3.0...v0.4.0

    12. ๐Ÿ”— r/LocalLLaMA GLM-5.2 (max) is currently the third best model available, across both open and proprietary. rss
    13. ๐Ÿ”— BarutSRB/OmniWM OmniWM v0.4.9.9 release

      What's New Since 0.4.9.8

      OmniWM 0.4.9.9 lands a long-requested multi-monitor breakthrough: first-class support for macOS "Displays have separate Spaces". This moves OmniWM closer to the front edge of modern macOS tiling window managers by handling native Space topology directly instead of papering over it with fragile workarounds.

      • "Displays have separate Spaces" is now a real runtime requirement and a first-class topology model. OmniWM validates the macOS setting at startup, refreshes active Spaces per display, and avoids managing windows hidden on inactive native Spaces, breaking through one of the biggest platform barriers for serious multi-monitor tiling on macOS.
      • Trackpad workspace swipes now use the raw MultitouchSupport gesture source, which keeps gesture detection from getting stuck when the focused app owns the normal gesture stream and survives stop/restart plus sleep/wake cycles.

      Release Integrity

      • OmniWM-v0.4.9.9.zip contains the Developer ID signed, notarized, and stapled OmniWM app.
      • OmniWM-v0.4.9.9.zip SHA-256: 4ca5df03132a98cee11f05a3c9d8d17b6063de4a66515489521c6e4035d89d36
      • GhosttyKit.xcframework-v0.4.9.9.zip SHA-256: 51bd5c70dfec5b61dd6325b77e09f0a4d7ee2ee7aa67d3a79b2df46c1f80bb12
  3. June 16, 2026
    1. ๐Ÿ”— IDA Plugin Updates IDA Plugin Updates on 2026-06-16 rss

      IDA Plugin Updates on 2026-06-16

      Activity:

    2. ๐Ÿ”— earendil-works/pi v0.79.6 release

      Fixed

      • Fixed HTTP dispatcher configuration to preserve a caller's deliberate fetch override instead of reinstalling the undici global fetch over it.
      • Fixed inherited OpenCode Go DeepSeek V4 thinking-off requests to send the provider's thinking: { type: "disabled" } compatibility parameter.
    3. ๐Ÿ”— r/LocalLLaMA GLM-5.2 is now 1st on Design Arena โ€” ahead of the now unavailable Claude Fable 5. rss
    4. ๐Ÿ”— anthropics/claude-code v2.1.179 release

      What's changed

      • Fixed mid-stream connection drops: partial responses are now preserved instead of showing a raw error, and the spinner no longer gets stuck at "running tool"
      • Fixed mouse-wheel scrolling in WSL2 under Windows Terminal and VS Code (regression in 2.1.172)
      • Fixed a sandbox denyRead/allowRead glob over a large directory tree making the Bash tool description enormous and the session unusable on Linux
      • Fixed the feedback survey capturing a single-digit reply as a session rating immediately after a turn completes
      • Fixed the welcome screen stacking multiple promotional banners โ€” at most one promo now shows per session
      • Fixed Ctrl+O not showing the subagent's transcript when viewing a subagent
      • Fixed clicking the prompt input not returning focus from the subagent/footer panel
      • Fixed remote session background tasks appearing stuck as "still running" between turns
      • Improved plugin loading performance in remote sessions
    5. ๐Ÿ”— r/LocalLLaMA Hashicorp founder thinks local models "aren't good ENOUGH yet" rss

      Hashicorp founder thinks local models "aren't good ENOUGH yet" | Generally, respect him a lot, but this is a wrong take. More than 1 year ppl are doing alright using SLMs for coding; only vibecoders might struggle Link submitted by /u/Orbit652002
      [link] [comments]
      ---|---

    6. ๐Ÿ”— BarutSRB/OmniWM OmniWM v0.4.9.8 release

      OmniWM 0.4.9.8

      Smoother and Faster

      • Momentum trackpad scrolling : Niri viewport scrolling now decelerates naturally after you lift your fingers.
      • Faster window overview : thumbnails are captured in parallel.
      • Less stutter when switching apps : blocking accessibility reads moved off the main thread.
      • Smoother animations and resizing : frame reads are skipped mid-animation and checked at settle, interactive resize renders without extra layout commits, and back-to-back relayouts coalesce instead of cancelling each other.
      • Less size-grid jitter : grid-snapping windows such as terminals stop jittering, and apps that refuse a size feed that back into layout so OmniWM fights them less.
      • Cheaper, more reliable Hyper key : the Hyper event tap only runs while Hyper is held, lowering idle cost while avoiding dropped or stuck state.
      • Correct animation timing per display : refresh-rate-only display changes and mixed-refresh monitor setups now stay in sync.

      Fixes

      • Native fullscreen survives apps that recreate their window : Electron, TextEdit, and similar apps no longer leave phantom columns behind, later toggles keep working, suspend/restore is driven by Space topology, and restoring one fullscreen window no longer breaks another.
      • Focus-follows-mouse no longer warps the cursor on hover-driven focus. Keyboard and programmatic focus can still warp as intended. Thanks @m-hauck for the fix idea in #147.
      • settings.toml is preserved : custom and unknown keys survive when OmniWM rewrites the file.
      • Monitor orientation overrides stick across display updates and are reported over IPC.
      • No stray border on focused system-modal dialogs.
      • Stable window stacking : tiled windows keep z-order when the system restacks them.
      • OmniWM's own overlay and ghost windows are no longer mistakenly tiled.
      • Better window admission : Steam tiles by default, windows stop flapping between managed and unmanaged, a single transient rescan miss no longer drops a window, inactive-Space windows are not evicted, and focused-window admission retries before unmanaged fallback.
      • Sending a window across workspaces and back no longer leaves focus stuck.

      Under the Hood

      • Major runtime rewrite: window, focus, viewport, scratchpad, monitor-session, Space-topology, layout-engine, and reconcile state now live in a single WorldStore , with every mutation routed through explicit commit events.
      • New EventIntake pipeline ingests CGS, AX, NSWorkspace, display, hotkey, IPC, and mouse events with off-main fact resolution.
      • Focus and activation effects now flow through IntentLedger and DeadlineWheel , replacing retry ladders with stamped intents and deterministic deadlines.
      • Surfaces such as borders, bars, tab rails, and fullscreen placeholders are derived by SurfaceReconciler.
      • Layout invariants are now hard asserts with unit coverage, plus a release-safe invariant-violation counter and debug-gated layout-build telemetry.
      • New deterministic replay tests cover permuted event-transport interleavings.
      • Architecture docs were rewritten around the four-stage runtime pipeline.

      Release Integrity

      • OmniWM-v0.4.9.8.zip contains the Developer ID signed, notarized, and stapled OmniWM app.
      • OmniWM-v0.4.9.8.zip SHA-256: 3d3be94b04c99e3f41299f87c79942d6dee7a5a43b84d437374d93ea6f01c752
      • GhosttyKit.xcframework-v0.4.9.8.zip SHA-256: 4b42ed3d073d8c777998227286d25d0be0a956ea043d59c2b3298d9d8bd52e8e
    7. ๐Ÿ”— r/LocalLLaMA GLM-5.2 is the first open-weights model to cross 80% on Terminal-Bench and beats every other open model available rss

      GLM-5.2 is the first open-weights model to cross 80% on Terminal-Bench and beats every other open model available | From Source: GLM-5.2 is the first open-weights model to cross 80% on Terminal-Bench, and beats every other open model available. It also beats Gemini, making it a frontier-level model for a fraction of the cost. Open weights is back. This model is a game changer. Source: Cline submitted by /u/BuildwithVignesh
      [link] [comments]
      ---|---

    8. ๐Ÿ”— earendil-works/pi v0.79.5 release

      New Features

      • Provider-scoped API key environments - auth.json API key entries can now include env overrides for provider-specific Cloudflare, Azure OpenAI, Google Vertex, Amazon Bedrock, cache retention, and proxy settings without changing the project shell. See Auth File.
      • Global HTTP proxy setting - Configure httpProxy once in global settings to apply HTTP_PROXY and HTTPS_PROXY to Pi-managed HTTP clients. See Network.
      • Vercel AI Gateway attribution - Vercel AI Gateway requests now include Pi attribution headers by default. See API Keys.

      Added

      • Added Vercel AI Gateway request attribution headers (http-referer and x-title) for Vercel AI Gateway models (#5798 by @rwachtler).
      • Added an xp footer marker when experimental features are enabled.
      • Added a global httpProxy setting that applies as HTTP_PROXY and HTTPS_PROXY for Pi-managed HTTP clients (#5790).
      • Added auth.json API key env values so provider-specific environment overrides can be scoped to Pi and propagated to inherited provider configuration (#5728).

      Changed

      • Updated the vendored Markdown parser used by HTML session exports to marked 18.0.5.

      Fixed

      • Fixed inherited OpenAI Responses streaming to tolerate null message content from OpenAI-compatible servers before tool calls (#5819).
      • Fixed inherited OpenCode DeepSeek V4 thinking requests to avoid sending both thinking and reasoning_effort (#5818).
      • Fixed device-code login to stop opening the browser automatically.
      • Fixed inherited editor Cursor Up handling so non-empty drafts jump to the start of the line before browsing input history (#5789 by @4h9fbZ).
      • Fixed inherited Z.AI GLM-5.2 thinking requests to send reasoning_effort with the provider's high/max effort mapping (#5770).
      • Fixed successful pi update on Windows to exit naturally instead of calling process.exit(0), avoiding a Node.js/libuv assertion after version-check network requests (#5805).
      • Fixed inherited Google and google-vertex Gemini model metadata to map latest aliases to the current models, add Gemini 3.5 Flash for Vertex, correct Gemini 2.5 Flash Vertex cache pricing, and remove shut-down Vertex preview models (#5761).
      • Fixed the session selector to stay open and show the all-sessions empty state when both current-folder and all-scope session lists are empty (#5747).
      • Fixed inherited Moonshot AI China model metadata to include Kimi K2.7 Code, and omitted unsupported thinking-off payloads for Kimi K2.7 Code models (#5760).
    9. ๐Ÿ”— 3Blue1Brown (YouTube) 100 random chords, how many intersections? rss

      Part of a series of monthly puzzles done in collaboration with MoMath.

    10. ๐Ÿ”— r/LocalLLaMA Mistral - New family of open-weight models @ July rss
    11. ๐Ÿ”— r/LocalLLaMA zai-org/GLM-5.2 is here! rss

      zai-org/GLM-5.2 is here! | submitted by /u/queendumbria
      [link] [comments]
      ---|---

    12. ๐Ÿ”— Kagi release notes June 16th, 2026 - Search widgets catching up, Assistant starts fresh rss

      Bringing search widgets up to speed

      Weโ€™re starting a broader effort to improve our search widgets! First up: sports scores and dice rolling.

      Sports scores now show up in a sidebar next to search results, so you can quickly check upcoming games, live scores, and recent results, just in time for the World Cup.

      A screenshot of a Kagi search results page for world cup games displaying
FIFA World Cup 2026 scheduling information and a side panel showing live and
finished match results for various international
groups.

      And weโ€™ve also added dice rolling support for all you gamers out there, in case you ever need to roll a d20, 2d4 + 2, or perhaps even 8d6.

      The new Kagi Assistant is here

      Over the last few weeks, weโ€™ve been rolling out a new Kagi Assistant experience. Most of you are already using it, and today weโ€™re officially retiring the old assistant.

      This is more than a visual refresh, we rebuilt the Assistant experience around a new layout, smoother web and mobile use, and a lot of UX improvements that add up quickly.

      And just as importantly, this gives us the foundation we need for the next set of Assistant improvements weโ€™ve been working towards.

      Note: there is one notable change - folders have replaced tags. This means each thread can now belong to only one folder. We appreciate this is a downgrade for users who relied on multiple tags per thread, and we donโ€™t want to handwave that away. We made this tradeoff because folders give Assistant a simpler, more predictable organisation model, and because multi tag usage was relatively low: about 20% of active accounts used tags at all, and appx 4% had any thread with more than one tag.

      Still, for those affected, we understand this change may be frustrating. Thank you for bearing with us as we build towards a stronger Assistant experience!

      Kagi Translate update

      We've paused free access to Kagi Translate while we sort out running costs, so you'll need to be signed in to use it. If you have an active subscription, Translate still works. Sign in on translate.kagi.com or in the mobile apps. We share more details on this decision in this blog post.

      Other improvements and bug fixes

      Kagi Search

      Kagi APIs

      • NEW: Extraction now keeps links from the original document, to enable deeper crawling flows.
      • NEW: Related searches is now part of the API responses, with more metadata than the v0 version where applicable.
      • NEW: Per-key cost tracking is now enabled. You can select a key in the usage page to see the specific key cost attached. (Cost tracking only available from when we deployed, historic data is not present.)
      • Fix: Extraction is now faster and more reliable.
      • Fix: Personalization rule types are now correctly validated with the doc types.
      • Fix: Various other internal improvements for a more stable experience.

      Kagi Assistant

      • Regression: new assistant scrolls to bottom when inference completes #10648 @spiffytech
      • The new Assistant does not let me edit the output from the model. #10670 @Fernold
      • Japanese IME: Enter key submits message instead of confirming composition #10707 @n22z9y28vh
      • New system prompt causing regressions esp. in no-search mode, and ignores /system_prompt_overwrite #10684 @igakagi
      • New assistant doesn't respect prefers-reduced-motion #10711 @magiruuvelvet
      • New Kagi Assistant does not remember sidebar on refresh #10727 @emptyjar
      • New Assistant: Undo File Type Restrictions #10721 @AzuraFilth
      • Assistant converts CSV uploads into markdown #10647 @fxgn
      • Specific code snippet returns 403 Forbidden error #10689 @Fusl
      • Assistant Not Searching Web or Citing Sources Despite Web Sarch Toggle Enabled #10657 @cmart
      • Kagi Assistant Does Not Reliably Read Larger Documents/Attached Files #10516 @aeiro
      • Assistant can't reach github files #10697 @Numerlor
      • Assistant does not scroll on output #10742 @emptyjar
      • References do not export, Markdown or JSON. #10741 @relaxos_palaiologos
      • Images inside Kagi Assistant responses do not appear #10296 @MustafaD
      • Assistant sidebar does not stay closed when resizing the window #10762 @emptyjar
      • Pressing 'Enter' key should confirm deletion dialog in Kagi Assistant #10793 @kray
      • Enter key does not submit message on iPadOS #10708 @n22z9y28vh
      • New assistant models from Anthropic, such as Claude Fable 5, refuse to work. #10812 @FranziKay
      • New Assistant hides lines, when it clearly has the space #10710 @7aad94e9
      • The new UI for Assistant is worse in every measurable way #10720 @mspgrunt
      • Settings -> Appearance -> Save : Not working in Orion Private mode #10724 @markkrueg
      • Customizable keyboard shortcuts (Assistant/General) #6650 @bert
      • Kagi Assistent new UI is too small #6142 @HRA42
      • Pasting text that exceeds x characters should automatically attach it as a text file #6739 @Coops
      • Dynamic Chat Window Scaling for Widescreen Users #6379 @unruffled5088

      Kagi Translate

      • Text cannot be copied anymore from Word and text from a PDF has hard returns behind every line #10476 @JaninevdK
      • โ€œcurled quotesโ€ instead of "straight quotes" #7011 @FranziKay
      • Kagi Translate extension wrongly detects certain monitor as 'mobile' #10693 @Roon

      Post of the week

      This week's featured social media mention:

      Bluesky post from public health guy saying: been using it for a few years
and it's basically my third most important subscription now, after internet
and
water

      Featured Kagi tip ๐Ÿ’ก

      Here's a guide on how to make Kagi truly yours with custom CSS. Tweak colors, fonts, and layout, hide elements you don't need, or apply a community theme for a search experience that looks exactly how you want.

      Collage of Kagi Search screenshots showing custom CSS themes, with
handwritten labels pointing to a high contrast view for low vision, glassy
image search effects, a tighter compact layout, and a custom color scheme
palette.

    13. ๐Ÿ”— Hex-Rays Blog IDA 9.4: Wider Processor and Platform Support rss

      IDA 9.4: Wider Processor and Platform Support

      IDA 9.4 comes with a brand-new Qualcomm Hexagon DSP module, an MCore family covering C-SKY V1, and deeper coverage of ARM, TriCore and RISC-V.

    14. ๐Ÿ”— HexRaysSA/plugin-repository commits Feat/EA-771 recently added pipeline (#31) rss
      Feat/EA-771 recently added pipeline (#31)
      
      * feat(merger): drive Recently Added by catalog-entry date (EA-771)
      
      Stop propagating stale recently_added/recently_updated editorial tags from
      api-plugins.json into combined.json (they had no date check; 169 plugins
      carried them regardless of recency). Add dynamic_metadata.added_at sourced
      from known-repositories.txt '# Discovered on' markers so the UI can drive
      "Recently added" by when a plugin entered the Hex-Rays catalog rather than
      when its underlying GitHub repo was created.
      
      Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
      * ci: pass --known-repos to the merge step (EA-771)
      
      The CI build runs merge_plugins.py inline in deploy.yml, not via the justfile.
      Without --known-repos the merger gets no catalog-entry dates, so every plugin
      ships with added_at=null and 'Recently added' renders empty. Pass the file so
      production matches local builds.
      
      Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
      * refactor(merger): derive added_at from git history, not comment markers
      
      Parsing known-repositories.txt's '# Discovered on' / '# added' comments made
      that human-written format a load-bearing API. Instead, reconstruct each repo's
      catalog-entry date from the author date of the commit that first added its line
      (one git log pass). Dates stay UTC; a shallow-clone guard omits added_at rather
      than collapsing every repo onto the boundary commit. Coverage improves (seed
      repos now dated too) with no dependency on comment formatting.
      
      Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
      * refactor(merger): derive added_at from the HCLI index history, drop --known-repos
      
      Reconstruct catalog-entry dates from the git history of plugin-repository.json
      (the HCLI index, already passed via --hcli) instead of known-repositories.txt.
      The index is the source of truth for what's installable via the plugin manager,
      so a plugin's added_at is the author date of the commit that first introduced
      its host. Removes the --known-repos arg and its justfile/deploy.yml wiring.
      
      Semantics: 'recently added' now means 'recently indexed into the manager', so a
      freshly-packaged but long-existing repo (e.g. diaphora) correctly surfaces.
      Legacy api-only plugins aren't in the index and get no added_at โ€” they are a
      frozen, all-old dump that can never be 'recently added', so null is correct and
      has zero UI impact.
      
      Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
      ---------
      
      Co-authored-by: fnania <fnania@hex-rays.com>
      Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
      
    15. ๐Ÿ”— @HexRaysSA@infosec.exchange It's not too late to sign-up... mastodon

      It's not too late to sign-up...

      We're hosting a free virtual workshop/webinar on idalib โ€” IDA as a library. Call IDA's analysis engine directly from your own code, automate workflows without launching the GUI, and integrate IDA into any toolchain you're already running.

      ๐Ÿ‘‰ https://2dgu4h.share- eu1.hsforms.com/2D4ZYPjdCRFODEGRKtMILwQ

    16. ๐Ÿ”— r/LocalLLaMA Donate your coding sessions to an open CC-BY-4.0 dataset to help train open-weight and open source models rss

      Donate your coding sessions to an open CC-BY-4.0 dataset to help train open-weight and open source models | Anthropic and Open AI are getting so much data from the Claude Code and Codex usage, and I'm quite scared this will create an oligopoly because only their models will be trained on it, leaving the open-weight and open source models behind. So I'm trying to launch a little initiative called Trace Commons and encouraging people around to donate their coding agent traces into an open dataset https://trace-commons-web.hf.space/ so that other model labs can also train on them Let me know if you have any feedback and hopefully we can have a nice open dataset soon ! submitted by /u/mon-simas
      [link] [comments]
      ---|---

    17. ๐Ÿ”— backnotprop/plannotator v0.20.3 release

      Follow @plannotator on X for updates


      Missed recent releases? Release | Highlights
      ---|---
      v0.20.2 | Pierre CodeView all-files review, large-PR pipeline and instant-open checkout, unified agent engine selection, Pi programmatic plan mode
      v0.20.1 | Pi extension install hotfix (pinned @pierre/diffs after a broken upstream release)
      v0.20.0 | Multi-repo workspace reviews, semantic diff overview, UI 2.0 themes and plan look chooser, leaner single-source skill install
      v0.19.27 | Kiro CLI integration, Glimpse native window, annotate-last message picker
      v0.19.26 | Amp plugin production fixes, Mermaid rendering fix, Settings flicker fix, update notification toast and shimmer
      v0.19.24 | Amp integration, configurable data directory, Auto Mode permission option, Pi plan approval fix
      v0.19.23 | Droid integration, Windows Pi AI fix, quieter update indicator
      v0.19.22 | Safari copy fix in plan viewer, CLAUDE_CONFIG_DIR support for session logs
      v0.19.21 | Ask AI in plan review and annotate mode, shared AI runtime, origin-aware provider defaults
      v0.19.20 | Interactive goal setup UI, OpenCode submit_plan fixes, browser no-op sentinel handling for Claude agents
      v0.19.18 | Edit-based submit_plan for OpenCode, Pi namespace migration, Codex annotate-last fix, OpenCode commands dir fix


      What's New in v0.20.3

      v0.20.3 is a small patch of two PRs, both focused on the comment popover used in plan review and annotate mode. The first stops in-progress annotation text from being thrown away, and stops the annotation panel from forcing itself open. The second adds a way to find a comment box again after it scrolls out of view. Both came out of community feature requests.

      Annotations No Longer Lost When You Click Away

      The comment popover used to close on any click outside it, which discarded whatever you had typed but not yet saved. A misplaced click meant retyping the annotation. Now a popover that holds text or an attached image stays open when you click elsewhere, so your in-progress work survives a stray click. Empty popovers still close on an outside click, and Escape and the X button still cancel explicitly, so nothing changes about how you dismiss a box you actually want to discard.

      The same release stops annotations from forcing the right annotation panel open. If you had closed the panel, adding a plan annotation or a code-file popout annotation used to reopen it and pull focus away from what you were reading. The panel now stays in whatever state you left it, and you can open it from the header toggle when you want it. The annotation itself is still selected and still shows its highlight, so it is never lost or hidden.

      Off-Screen Indicator for an Open Comment

      Because an open comment box now persists when you click or scroll away, it became possible to leave one open above or below the visible area and lose track of it. When that happens, a small pill appears pinned to the top or bottom of the viewport with a chevron pointing toward the box and an "Open comment" label. Clicking it scrolls back to the comment. The indicator only appears for a box that has actually left the viewport and disappears as soon as it returns, so it stays out of the way the rest of the time.

      Install / Update

      macOS / Linux:

      curl -fsSL https://plannotator.ai/install.sh | bash
      

      Windows:

      irm https://plannotator.ai/install.ps1 | iex
      

      Extra skills (compound, setup-goal, visual-explainer), opt-in:

      npx skills add backnotprop/plannotator/apps/skills/extra
      

      Claude Code Plugin: Run /plugin in Claude Code, find plannotator , and click "Update now".

      OpenCode: Clear cache and restart:

      rm -rf ~/.bun/install/cache/@plannotator
      

      Then in opencode.json:

      {
        "plugin": ["@plannotator/opencode@latest"]
      }
      

      Pi: Install or update the extension:

      pi install npm:@plannotator/pi-extension
      

      Droid: Install via the plugin marketplace:

      droid plugin marketplace add backnotprop/plannotator
      droid plugin install plannotator@plannotator
      

      Amp: Install the CLI first, then copy the plugin:

      mkdir -p ~/.config/amp/plugins
      curl -fsSL https://raw.githubusercontent.com/backnotprop/plannotator/main/apps/amp-plugin/plannotator.ts \
        -o ~/.config/amp/plugins/plannotator.ts
      

      Kiro CLI: The installer auto-detects Kiro and installs skills automatically. After installing the CLI, launch with:

      kiro-cli chat --agent plannotator
      

      Upgrading from before v0.20.0? Read the v0.20.0 release notes first; that release changed how skills install.


      What's Changed

      • Keep annotation panel closed when adding annotations by @backnotprop in #919
      • feat(annotate): off-screen indicator for open comment popover by @backnotprop in #920

      Community

      Both changes in this release answer feature requests from the community. @8bitjoey asked for the annotation input to keep its text instead of closing on an outside click (#821), and @jj- valentine asked for annotations to be saved rather than lost (#888). @SyahrulBhudiF and @gwynnnplaine joined the discussion on #821 that shaped the behavior.

      Full Changelog : v0.20.2...v0.20.3

    18. ๐Ÿ”— HexRaysSA/plugin-repository commits sync repo: +1 plugin, +3 releases, ~1 changed rss
      sync repo: +1 plugin, +3 releases, ~1 changed
      
      ## New plugins
      - [ida-nativeaot](https://github.com/dump-guy/ida-nativeaot) (1.0.2, 1.0.1, 1.0.0)
      
      ## Changes
      - [diaphora](https://github.com/joxeankoret/diaphora):
        - 3.4: archive contents changed, download URL changed
      
    19. ๐Ÿ”— r/LocalLLaMA Claude Fable 5 distilled rss

      Claude Fable 5 distilled | Releasing Qwable-v1 - an open-weights Qwen3.6-35B-A3B distilled from Claude Fable-5, Anthropic's Mythos-class preview model that was briefly public for ~4days (2026-06-9 โ†’ 2026-06-12) before being suspended globally under U.S. export-control directives. Fable-5 was Anthropic's most powerful model when it shipped โ€” 80.3% on SWE-bench Pro, $50/M output tokens, with an anti-distillation classifier baked into the API that redacted thinking blocks on the fly. Qwable-v1 captures what survived: 4,659 cleartext agentic-coding traces (re-packed from Glint-Research/Fable-5-traces, the only public corpus where the CoT made it through), distilled onto Qwen3.6 over ~14h on a single H200. Given an agent
      system prompt, the model emits properly-formatted XML calling actual Claude-flavored tools like str_replace_editor โ€” Fable's tool surface leaked into the weights, not just its style. Model, GGUFs (IQ4_XS / Q4_K_M / Q5_K_M / Q8_0), and the SFT dataset are all public on HF (AGPL-3.0 from upstream). https://huggingface.co/lordx64/Qwable-v1 submitted by /u/Anony6666
      [link] [comments]
      ---|---

    20. ๐Ÿ”— Ampcode News Diffs rss
      Outsource your coding, but not your understanding of the code.

      As agents generate larger quantities of code, it is more important than ever for humans to comprehend the code to ensure its quality.

      You can now review any thread's code changes directly in Amp, on desktop or mobile.

      While a thread has an active environment, you can scroll through the diff, request changes on specific sections, and stage changes interactively:

      Some care and attention has gone into the diffing algorithm, which performs duplicate block detection to make it easier to see what has actually changed. This can significantly reduce cognitive load when reviewing large agent-generated changesets.

      Here is an example where Amp (left) makes it easier to see that the only thing that has changed is the removal of the if-branch of the conditional:

      Amp's diff highlighting for duplicated code
      Ours
      GitHub's diff highlighting for duplicated code
      Theirs

      If you drive your threads primarily from the terminal, use the command palette (Ctrl-O) to open the diff for your current thread in your browser:

      Open thread in browser shortcut

  4. June 15, 2026
    1. ๐Ÿ”— IDA Plugin Updates IDA Plugin Updates on 2026-06-15 rss

      IDA Plugin Updates on 2026-06-15

      New Releases:

      Activity:

      • augur
        • 7a3ce1ce: refactor: use AsRef bounds for all pub fn
      • diaphora
      • ffxiv_bossmod
      • haruspex
        • e4104920: refactor: use AsRef bounds for all pub fn
      • ida-fusion-mcp
        • bb75a854: feat: add router-native idalib parity tools
        • 28822cf7: docs: design router-native idalib integration
        • 1e448889: fix installer missing IDA scan roots
      • ida-ios-helper
        • ee8218ee: Merge pull request #18 from doronz88/feature/swift
        • 482c9aa4: swift_types: Gate IDA-9.4 native ABI behind version check (compat 9.0โ€ฆ
        • 1e6e3028: swift_dump_import: Synthesize class structs + slot-resolve named methโ€ฆ
        • fd91fa8d: swift_dump_import: Auto-name + type Swift class methods via ipsw swifโ€ฆ
        • 4d55eb0e: swift_types: Per-callsite ClosureCtx typing for Dispatch sync closures
        • 4696de9e: swift_types: Expand FUNCTIONS_SIGNATURES with stdlib + Foundation + bโ€ฆ
        • 7e1dd83a: swift_types: Mark Swift throws functions with __spoils + renamโ€ฆ
        • 915f2c6e: swift_types: Erase __chkstk_darwin calls from the prolog
        • 35bb94b3: swift_oslog: Collapse Swift _os_log_impl(โ€ฆ) build-up into a one-liner
        • cb511173: swift_types: Rename Swift opaque-storage buffer lvars to _buf
        • 171f200c: swift_types: Rename Swift opaque-storage prolog lvars and type the VWโ€ฆ
        • 31de1467: swift_types: Type each Swift mangled name in __swift5_typeref as a C โ€ฆ
        • 4e1d62e9: swift_types: __swiftClassCall (x20 self) typing + post-print cfunc inโ€ฆ
        • 6e809337: scripts: Add headless probe_func + idat IPC server for plugin iteration
      • ida-nativeaot
        • 546b831b: docs: add UI screenshots + hero image; drop washi keyword; bump to v1โ€ฆ
        • a93072d4: v1.0.1 - rename to ida-nativeaot.*, name-sync fixes, search and overvโ€ฆ
      • ida_rpc
        • ee39b999: Fix pytest collection of ida-rpc integration script
        • 609b235f: Add loader discovery, forced selection via --loader, and loader-speโ€ฆ
        • c4304e00: Fix read_bytes issue
      • rhabdomancer
        • 69528487: refactor: use AsRef<Path> bounds for all pub fn
    2. ๐Ÿ”— roboflow/supervision supervision-0.29.0 release

      ๐Ÿš€ Added

      • Added sv.VertexEllipseAreaAnnotator, sv.VertexEllipseOutlineAnnotator, and sv.VertexEllipseHaloAnnotator for visualizing keypoint uncertainty as covariance ellipses. (#2277, #2286)

        import cv2
        

        import supervision as sv from rfdetr import RFDETRKeypointPreview

        image = cv2.imread("") model = RFDETRKeypointPreview()

        key_points = model.predict(image)

        annotator = sv.VertexEllipseAreaAnnotator( sigma=[1.0, 2.0, 3.0], color=[sv.Color.GREEN, sv.Color.YELLOW, sv.Color.RED], opacity=0.4, ) annotated = annotator.annotate(image.copy(), key_points)

      rf-detr-ellipse-promo-2.mp4

          import cv2
      import supervision as sv
      from rfdetr import RFDETRKeypointPreview
      
      image = cv2.imread("<SOURCE_IMAGE_PATH>")
      model = RFDETRKeypointPreview()
      
      key_points = model.predict(image)
      
      annotator = sv.VertexEllipseOutlineAnnotator(
          sigma=[1.0, 2.0, 3.0],
          color=[sv.Color.GREEN, sv.Color.YELLOW, sv.Color.RED],
          thickness=2,
      )
      annotated = annotator.annotate(image.copy(), key_points)
      

      rf-detr-ellipse-promo-3.mp4

          import cv2
      import supervision as sv
      from rfdetr import RFDETRKeypointPreview
      
      image = cv2.imread("<SOURCE_IMAGE_PATH>")
      model = RFDETRKeypointPreview()
      
      key_points = model.predict(image)
      
      annotator = sv.VertexEllipseHaloAnnotator(
          sigma=[1.0, 2.0, 3.0],
          color=[sv.Color.GREEN, sv.Color.YELLOW, sv.Color.RED],
          opacity=0.6,
      )
      annotated = annotator.annotate(image.copy(), key_points)
      

      rf-detr-ellipse-promo-1.mp4

      ๐ŸŒฑ Changed

      box_nms_demo box_nmm_demo obb_nms_demo obb_nmm_demo

      • sv.Detections.area is now OBB-aware. When oriented box coordinates are present, the property returns the polygon area of the rotated bounding box (via the shoelace formula) instead of the axis-aligned box area. (#2306)

      • sv.InferenceSlicer now detects OBB outputs from callbacks and automatically falls back to sequential processing to avoid thread-safety issues when thread_workers > 1. (#2256)

      • Fixed sv.oriented_box_iou_batch to correctly handle non-square canvases. Previously, rasterization assumed square dimensions, leading to incorrect IoU values for tall or wide images. (#2282)

      ๐Ÿ”ง Fixed

      • Fixed sv.process_video audio stream handling. The audio muxing path now correctly creates temp files on the same filesystem, decodes ffmpeg errors, and avoids muxing incomplete output. (#2252)

      • Fixed sv.Detections.from_vlm returning None for class_id on empty VLM parses. Now returns an empty int ndarray. (#2239)

      • Fixed sv.Detections.from_inference to preserve class_name as a string-dtype array when predictions are empty. Previously it returned an untyped empty array. (#2270)

      • Fixed sv.HeatMapAnnotator divide-by-zero crash when called with empty detections. (#2269)

      • Fixed COCO export emitting 0-indexed category_id values. Now correctly emits 1-indexed IDs as per the COCO specification. (#2276)

      • Fixed COCO annotation and image IDs not being chainable across dataset splits. IDs are now sequential across train/val/test. (#2267)

      • Fixed sv.DetectionDataset.as_yolo losing OBB rotation when exporting oriented bounding boxes. (#2289)

      • Fixed YOLO dataset loading to sort class names by numeric keys when the data.yaml uses integer class IDs. (#2296)

      • Fixed letterbox utility to support grayscale images. (#2297)

      • Fixed file extension filters to normalize casing (e.g. .JPG now matches .jpg). (#2298)

      โš ๏ธ Deprecated

      Deprecated | Removal | Replacement
      ---|---|---
      KeyPoints.confidence | 0.32.0 | KeyPoints.keypoint_confidence
      merge_inner_detection_object_pair | 0.32.0 | None (internal use only)
      merge_inner_detections_objects | 0.32.0 | None (internal use only)
      merge_inner_detections_objects_without_iou | 0.32.0 | None (internal use only)
      validate_detections_fields | 0.32.0 | None (internal use only)
      validate_vlm_parameters | 0.32.0 | None (internal use only)
      validate_fields_both_defined_or_none | 0.32.0 | None (internal use only)
      validate_xyxy | 0.32.0 | None (internal use only)
      validate_mask | 0.32.0 | None (internal use only)
      validate_class_id | 0.32.0 | None (internal use only)
      validate_confidence | 0.32.0 | None (internal use only)
      validate_tracker_id | 0.32.0 | None (internal use only)
      validate_data | 0.32.0 | None (internal use only)
      validate_xy | 0.32.0 | None (internal use only)
      validate_key_point_confidence | 0.32.0 | None (internal use only)
      validate_key_points_fields | 0.32.0 | None (internal use only)
      validate_resolution | 0.32.0 | None (internal use only)
      validate_custom_values | 0.32.0 | None (internal use only)
      validate_input_tensors | 0.32.0 | None (internal use only)
      validate_labels | 0.32.0 | None (internal use only)

      ๐Ÿ† Contributors

      @SkalskiP (Piotr Skalski), @Borda (Jirka Borovec), @kounelisagis (Agis Kounelis), @RitwijParmar (Ritwij Aryan Parmar), @Khanz9664 (Shahid Ul Islam), @satishkc7 (SATISH K C), @Ace3Z (Mahbod Tajdini), @madhav-c, @RubenHaisma (Ruben Haisma), @adhavan18 (Tamil Adhavan), @Bortlesboat (Andrew Barnes), @Lourdhu02, @tarunbommawar27, @YousefZahran1 (Youssef Ibrahim), @JFrench- Enterprise, @Patel- Prem (Premkumar Patel)

    3. ๐Ÿ”— roboflow/supervision supervision-0.28.0 release

      ๐Ÿ”ฆ Spotlight

      Memory-efficient masks with sv.CompactMask

      Segmentation models produce one full-resolution bitmap per instance. On a 1920ร—1080 image with 28 detections that is ~55 MB of mask data. Most pixels are background. sv.CompactMask stores only the tight bounding-box crop, RLE-encoded โ€” the same 28 masks drop to ~237 KB of crops, a 240ร— reduction before RLE kicks in.

      It's a drop-in replacement: annotators, filters, and area all work unchanged.

      supervision-sam3

      import supervision as sv
      
      # any segmentation model โ€” RF-DETR Seg, YOLO-Seg, SAM3
      detections = model.predict(image)  # sv.Detections with dense masks
      
      dense_mb = detections.mask.nbytes / 1024 / 1024
      compact = sv.CompactMask.from_dense(
          masks=detections.mask,
          xyxy=detections.xyxy,
          image_shape=image.shape[:2],
      )
      detections.mask = compact  # swap in โ€” API unchanged
      
      # filter by pixel area without materialising dense masks
      large = detections[compact.area > 1000]
      
      # annotators call .to_dense() internally
      annotated = sv.MaskAnnotator().annotate(image.copy(), detections)
      

      SAM3 text-prompted segmentation

      SAM3 segments objects by free-text prompt โ€” no class list, no bounding boxes. sv.Detections.from_sam3() parses both PCS (multi-prompt) and PVS (video) response formats into a standard sv.Detections, with class_id set to the prompt index.

      import requests, base64
      import supervision as sv
      
      PROMPTS = ["person", "bag"]
      
      with open("image.jpg", "rb") as f:
          img_b64 = base64.b64encode(f.read()).decode()
      
      response = requests.post(
          f"https://api.roboflow.com/inferenceproxy/seg-preview?api_key={API_KEY}",
          json={
              "image": {"type": "base64", "value": img_b64},
              "prompts": [{"type": "text", "text": p} for p in PROMPTS],
          },
          headers={"Content-Type": "application/json"},
      )
      sam3_result = response.json()
      
      h, w = cv2.imread("image.jpg").shape[:2]
      detections = sv.Detections.from_sam3(sam3_result=sam3_result, resolution_wh=(w, h))
      # class_id == 0 โ†’ "person", class_id == 1 โ†’ "bag"
      

      ๐Ÿ”„ Migration

      VideoInfo.fps is now float

      NTSC frame rates (23.976, 29.97, 59.94) were silently truncated. fps is now the true float โ€” cast at call sites that need an integer.

      Before

      info = sv.VideoInfo.from_video_path("clip.mp4")
      buf = collections.deque(maxlen=info.fps)
      trace = sv.TraceAnnotator(trace_length=info.fps)
      

      After

      info = sv.VideoInfo.from_video_path("clip.mp4")
      buf = collections.deque(maxlen=int(info.fps))
      trace = sv.TraceAnnotator(trace_length=int(info.fps))
      

      sv.ByteTrack deprecated โ€” use ByteTrackTracker

      Tracker implementations now live in the dedicated trackers package. sv.ByteTrack remains available in 0.28โ€“0.29 with DeprecationWarning; removal in 0.30.0.

      Before

      tracker = sv.ByteTrack()
      detections = tracker.update_with_detections(detections)
      

      After

      # pip install trackers
      from trackers import ByteTrackTracker
      
      tracker = ByteTrackTracker()
      detections = tracker.update(detections)
      

      ๐Ÿš€ Added

      • Memory-efficient masks withsv.CompactMask. Sparse segmentation masks are now stored as a crop region plus RLE-encoded data instead of full-resolution bitmaps, cutting memory use by 10โ€“100ร— for typical instance-segmentation outputs. It's a drop-in change โ€” sv.Detections.mask, filtering, merging, and area all keep working without materialising the full array. (#2159)

      • SAM3 detection and PVS support infrom_inference. sv.Detections.from_inference now parses SAM3 detection and point-video-segmentation outputs, both from the local inference package and from Roboflow-hosted server responses. (#2103, #2152)

      • Compressed COCO RLE masks infrom_inference. Inference responses with rle or rle_mask fields containing a compressed counts string (as produced by pycocotools) are decoded directly into binary masks, skipping the lossy polygon round-trip. (#2178)

      • Standardlogging module instead of print. Diagnostic output is now emitted under the supervision logger, so applications can capture, filter, or silence it through standard logging configuration. (#2154)

      • RGBA hex codes insv.Color. sv.Color.from_hex accepts 8-digit hex (#ff00ff80), and Color.as_hex() round-trips alpha when not fully opaque. New top-level helpers: sv.hex_to_rgba, sv.rgba_to_hex, and sv.is_valid_hex. (#2004)

      • Dynamic kernel sizing in blur and pixelate annotators. BlurAnnotator(kernel_size=None) and PixelateAnnotator(pixel_size=None) (the new default) compute the kernel per detection as a fraction of the shorter bounding-box side, giving visually consistent results across object scales. (#709)

      • sv.ImageAssets for sample images. A counterpart to the existing video assets โ€” downloads sample images for examples and tutorials. (#932)

      • Boundary warnings inInferenceSlicer. Emits a warning when callback detections fall outside tile boundaries, helping you spot coordinate-system bugs in custom callbacks early. (#2186)

      โš ๏ธ Breaking Changes

      • sv.VideoInfo.fps is now float, not int. Frame rates like 23.976, 29.97, and 59.94 are no longer truncated. If you pass fps to APIs that require an integer (deque(maxlen=...), TraceAnnotator(trace_length=...)), wrap with int(...). (#2210)

      • sv.rle_to_mask returns bool, not uint8. This matches the long-declared signature. Code that does mask * 255 still works via NumPy broadcasting, but explicit casts like mask.view(np.uint8) will break. Add .astype(np.uint8) if you relied on the undocumented integer output. (#2178)

      See the migration guide below for before/after snippets.

      ๐ŸŒฑ Changed

      • Metric arrays usefloat32 instead of float64. sv.MeanAveragePrecisionResult and related arrays (mAP_scores, ap_per_class, iou_thresholds, precision/recall) drop to float32, reducing memory and speeding up computation. Numerical results may differ in the last few digits. (#2169)

      • rle_to_mask and mask_to_rle moved. New canonical path: supervision.detection.utils.converters. The old supervision.dataset.utils import still works but is deprecated. (#2178)

      ๐Ÿ—‘๏ธ Deprecated

      • normalized_xyxy argument renamed to xyxy in denormalize_boxes. sv.denormalize_boxes(normalized_xyxy=...) still works but emits a FutureWarning; switch to xyxy=. Scheduled for removal in 0.30.0.

      • sv.ByteTrack โ†’ ByteTrackTracker (external trackers package). Install with pip install trackers; the method renames from update_with_detections() to update(). Scheduled for removal in 0.30.0. (#2215)

      • supervision.keypoint โ†’ supervision.key_points. Also deprecated: the LMM enum (use VLM), from_lmm (use from_vlm), create_tiles in supervision.utils.image, ensure_cv2_image_for_processing in supervision.utils.conversion, and the keypoint validators in supervision.validators. (#2214)

      ๐Ÿ”ง Fixed

      • PolygonZone no longer double-counts overlapping zones. When two polygons contain the same anchor, each zone now reflects its own containment instead of every zone claiming the detection. (#1991)

      • LineZone respects class identity across reused tracker IDs. Trackers that recycle tracker_id across classes no longer leak crossing state from one object to another. (#1868)

      • process_video raises immediately on callback errors. Previously the exception was swallowed and the process hung until the writer was flushed. (#2022)

      • DetectionDataset populates class_name. Loaded annotations now carry data["class_name"], matching what model connectors produce. (#2156)

      • ByteTrack preserves externally assigned tracker_id. No longer overwrites caller-assigned IDs on the first update. (#1364)

      • Confusion matrix double-counting fixed. evaluate_detection_batch now correctly matches multiple predictions to the same target, so FP/FN counts match expectations. (#1853)

      • MeanAverageRecall mAR@K is now COCO-compliant. Computed using top-K detections per image; previous values were inflated relative to pycocotools. (#2136)

      • Detections.is_empty() handles empty tracker_id. Returns True for zero-row detections regardless of whether tracker_id is None or an empty array. (#2209)

      • CSVSink and JSONSink slice custom_data per row. NumPy arrays, lists, and tuples whose length matches the detection count are now indexed per row, instead of being written whole for every detection. (#2199, #2216)

      • TraceAnnotator smooth mode handles stationary tracks. Deduplicates anchor points and falls back to a raw polyline when splprep cannot fit fewer than 4 unique points. (#2217)

      • load_coco_annotations rejects path-traversal annotations. Refuses file_name entries that escape the images directory via ../ or absolute paths. (#2218)

      • OBB datasets no longer blow up memory. Loading oriented-bounding-box datasets stopped allocating full-image masks per box. (#2187)

      • KeyPoints boolean mask indexing fixed. Uniform-count selection now works correctly when all instances share the same keypoint count. (#2188)

      • DetectionDataset.as_coco() preserves area and iscrowd. No longer dropped silently in the round-trip. (#2185)

      • force_mask=True precision and COCO empty-polygon export. Annotation conversion no longer loses precision, and COCO export tolerates empty polygons across formats. (#1746, #1086, #265)


      ๐Ÿ† Contributors

      A huge thank you to everyone who shipped this release:


      Full changelog : 0.27.0...0.28.0

    4. ๐Ÿ”— @HexRaysSA@infosec.exchange You know the drill: Stop by our sponsor table at mastodon

      You know the drill: Stop by our sponsor table at @recon to get a sneak peek at IDA 9.4, learn about our new malware extensions, share your feedback for some primo swag, or just say hi.

      We're also partnering with BlackHoodie again this year, and our own Arnau Gร mez i Montolio will be closing out Sunday with the final session.

    5. ๐Ÿ”— anthropics/claude-code v2.1.178 release

      What's changed

      • Added Tool(param:value) syntax for permission rules to match a tool's input parameters (with * wildcard), e.g. Agent(model:opus) to block Opus subagents
      • Skills in nested .claude/skills directories now load when working on files there; on a name clash, the nested skill appears as <dir>:<name> so both stay available
      • Nested .claude/ directories: the agent, workflow, and output-style closest to the working directory now wins when names collide; project-scope workflow saves now target the closest existing .claude/workflows/
      • Improved auto mode: subagent spawns are now evaluated by the classifier before launch, closing a gap where a subagent could request a blocked action without review
      • Improved /doctor with consistent flat tree layout across all sections, clearer section status icons, and highlighted command names
      • Improved the skill listing truncation warning to show how many skill descriptions are affected
      • Changed the workflow prompt keyword to use a purple shimmer highlight and trigger only on explicit phrases like "run a workflow" or "workflow:", not on any mention of the word
      • Improved Remote Control error messages: connection failures now show a persistent red "/rc failed" indicator in the footer, and the "not yet enabled" error now explains whether it's a gate, a check failure, stale entitlement, or org policy
      • /bug now requires a description before submitting, and no longer uses model-refusal text as the GitHub issue title
      • Fixed a crash (out-of-memory) when the CLI inherits a stale websocket/OAuth file-descriptor environment variable from a parent process
      • Fixed Claude in Chrome silently failing to connect when the OAuth token belongs to a different account than the Claude Code login
      • Fixed nested .claude/skills skills with directory-qualified names being blocked by permission prompts in non-interactive runs
      • Fixed several subagent issues: viewing a subagent's transcript now shows tool results and live progress, messages sent while it finishes its turn are no longer dropped, and backgrounding a running subagent (ctrl+b) no longer restarts it from scratch
      • Fixed claude agents workers failing with 401 Invalid bearer token when the daemon was started from a shell with a custom API gateway via ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN
      • Fixed compaction not honoring --fallback-model: compaction now falls back to the configured fallback model chain on overload or model-availability errors
      • Fixed model requests continuing to fail with auth errors after credentials were refreshed outside the session, due to a stale cached request configuration
      • Fixed background sessions created with /bg or โ†โ† after a turn finished showing "Working" forever in the agents list
      • Fixed CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1 preventing fresh marketplace installs from cloning
      • Fixed MCP server-level specs (mcp__server, mcp__server__*, mcp__*) in subagent disallowedTools being silently ignored
      • Fixed vim mode undo: u now steps through NORMAL/VISUAL-mode commands one at a time instead of merging commands in quick succession into a single undo step
      • Fixed statusline links with custom URI schemes (e.g. vscode://) not opening when clicked in claude agents
      • [VSCode] Fixed pressing Esc to dismiss a CJK IME candidate window canceling the running Claude task
    6. ๐Ÿ”— roboflow/supervision 0.29.0rc1 release

      releasing 0.29.0rc1

    7. ๐Ÿ”— r/LocalLLaMA Stop using Ollama rss

      Stop using Ollama | submitted by /u/zxyzyxz
      [link] [comments]
      ---|---

    8. ๐Ÿ”— @binaryninja@infosec.exchange Join us live on June 24th at 1pm ET as Zenyard launches with Binary Ninja! mastodon

      Join us live on June 24th at 1pm ET as Zenyard launches with Binary Ninja! Zenyardโ€™s AI reverse engineering assistant helps to analyze binaries faster and with greater accuracy. We'll be taking a deep dive into what makes Zenyard's integration stand out, have it rebuild Swift code for us, and have it reason about code-flows among multiple binaries. https://youtube.com/live/JG15oxrWgp0

    9. ๐Ÿ”— sacha chua :: living an awesome life 2026-06-15 Emacs news rss

      Lots of discussion around Karthik's latest blog post Even More Batteries Included with Emacs (Reddit, HN, lobste.rs). Check it out!

      Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrรฉs Ramรญrez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

      You can comment on Mastodon or e-mail me at sacha@sachachua.com.

    10. ๐Ÿ”— r/LocalLLaMA What's the lesson chat? rss
    11. ๐Ÿ”— earendil-works/pi v0.79.4 release

      New Features

      • Automatic first-run theme selection - pi detects the terminal background on first run and defaults to the dark or light theme. See Selecting a Theme.
      • Standalone binary integrity checksums - GitHub release assets now include SHA256SUMS files for verifying standalone binary downloads. See Quickstart Install.

      Added

      • Added SHA256SUMS integrity files to standalone binary GitHub release assets (#5739).
      • Added first-run interactive theme detection from the terminal background (#5385 by @vegarsti).

      Fixed

      • Fixed bash tool output collection to keep draining stdout/stderr after the child exits while descendants still write, avoiding truncated late output (#5753 by @Mearman).
      • Fixed /tree help rendering to show compact wrapped controls instead of truncating them on narrow terminals (#5055).
      • Fixed SIGTERM/SIGHUP interactive shutdown to keep signal handlers installed until terminal cleanup completes, preventing signal-exit from re-sending the signal and leaving the terminal in raw/Kitty keyboard mode (#5724).
      • Fixed extensions documentation to clarify that pi.getActiveTools() returns active tool names while pi.getAllTools() returns tool metadata (#5729).
      • Fixed question and questionnaire extension examples to wrap long prompt, option, and help text instead of truncating it (#5708 by @xl0).
      • Fixed package commands such as pi list, pi install, and pi update to terminate after completing even if an extension leaves background handles open (#5687).
      • Fixed pi update for pnpm global installs whose configured global-bin-dir no longer matches the active pnpm home (#5689).
      • Fixed npm package specs that use ranges or tags (for example @^1.2.7) so installed package resources still load instead of being treated as mismatched exact pins (#5695).
      • Fixed inherited Anthropic 1-hour prompt-cache write cost accounting to price 1-hour cache writes at 2x input instead of the 5-minute cache-write rate (#5738 by @theBucky).
      • Fixed inherited GitHub Copilot Claude adaptive-thinking effort metadata to match manually checked Copilot model capabilities (#4637).
      • Fixed inherited OpenCode/OpenCode Go completion model metadata to omit long-retention cache fields for routes that reject prompt_cache_retention (#5702).
      • Fixed inherited overlay compositing over CJK wide characters so borders stay aligned when an overlay starts inside a full-width cell (#5297).
      • Fixed inherited WezTerm inline Kitty image rendering during full redraw fallbacks so image padding rows are reserved before the placement is drawn without regressing tall-image placement (#5618, #4415).
      • Fixed custom provider config so plain uppercase API key and header values remain literals instead of being treated as legacy environment references; use explicit $ENV_VAR syntax for environment variables (#5661).
    12. ๐Ÿ”— VoidNullable/lific v1.6.0 release

      Lific gets a planning layer. Plans turn a goal into an ordered, arbitrarily- nestable tree of steps that persists across sessions and context compaction โ€” the thing that separates an issue tracker from a project planner. Steps can mirror issues, so closing an issue checks its step and completing a step closes its issue, all recorded in the audit log.

      Plans

      • Persisted, nestable step trees. A plan is a first-class, project-scoped tree of steps (steps containing steps, any depth) that survives across agent sessions and compaction. Issues stay flat and lateral; the hierarchy lives on the plan.
      • Steps mirror issues, both ways. Link a step to an issue and the two stay in sync: closing the issue checks the step (anywhere it appears), and marking a step done closes its issue. Reopening an issue reopens its steps in active plans, stamped with the reason. Closing a plan's anchor issue auto-archives the plan. Done flows down from issues, never silently up from plans.
      • Authored in one call. Four MCP tools: create_plan builds a full nested tree at once, get_plan rehydrates it for the next session, and edit_plan_step / update_plan_step handle surgical edits, done toggles, issue links, and structure changes โ€” with every side effect reported back in the result.
      • First-class in the web UI. A Plans tab alongside Issues, Board, Modules, and Pages: a list grouped by status and a detail view with a real nested tree โ€” done toggles, per-step markdown descriptions, issue chips with provenance, an anchor issue, a progress bar, and an activity timeline. Built on the same shell as the issue and page views.
      • Fully audited. Every plan and step mutation lands in the audit log with actor attribution, including the issue-driven cascades (recorded as system-driven via the triggering issue). A new /api/plans/{id}/activity surface and plan support across list_resources and delete.
      • REST + CLI. Full /api/plans CRUD plus step operations, identifiers as PROJ-PLAN-n.

      Issue list

      • Accurate per-status tallies in the topbar. The count was previously filteredIssues.length over a fetch capped at 200, so it silently undercounted once a project grew past that. A new count_issues_by_status query (a single indexed GROUP BY) and GET /api/projects/{id}/issue-counts endpoint return true per-status counts and a real total.
      • Click a status count to toggle that filter , with narrowed views rendering "shown of total" so the number is always honest.
      • List fetch limit raised 200 โ†’ 1000 so rows don't truncate as early.
    13. ๐Ÿ”— exe.dev Announcing the exe.dev iOS app rss

      We're delighted to announce that exe.dev has an iOS app now in the App Store. There's a lot to write about how we built it, but today let's talk about the why. After all, the exe.dev dashboard and Shelley already work on mobile browsers.

      They say the best camera is the one you have with you. The best terminal is the one you have with you too. We couldn't build the following features without building an app, so an app it is:

      Notifications. Agentic conversations are high-latency, and it's useful to be notified when it's your turn. Nothing on iOS comes close to the native notifications experience. Of course, we built this with an exe integration: other software you build on your VM can use the same notify.int.exe.xyz integration to ping your phone.

      Share sheet. Many prompts begin with a screenshot. Take one, click share, and click on exe.dev to start an agentic conversation. Whether it's a UI element that's out of alignment or a Slack message you received, the share sheet speeds up "time to agent is working on it."

      exe.dev in the iOS share
sheet

      Voice. We built a voice mode that can harness the power of having real computing resources available to you.

      SSH. There are several excellent SSH clients already available for SSH, but the process of creating a key and registering it with exe.dev is cumbersome. We do not yet support mosh (it's on the roadmap!) which makes roaming prone to dropping connections. Having a terminal client in our app side-steps that. We have happy users that have persistent Claude Code sessions in their terminals. Paste works, by the way.

      Multiplexing Shelley. One of our taglines is "a VM for every idea." Instead of walking through each VM in turn to find unfinished business, the iOS app provides a centralized place.

      I want to thank our TestFlight users for providing valuable feedback while suffering through many a crash!

      The app is in the App Store. Give it a whirl. Send us feedback via Discord or support@exe.dev.

      Your browser does not support the video tag.