- β
- β
- November 06, 2026
-
π gildas-lormeau/single-file-cli v2.24.0 release
SingleFile CLI 2.24.0
New features
- New option
--load-deferred-content-keep-emulated-screen-size: while loading deferred content, the page is made to believe the screen is as tall as the whole document, and the real size is restored before the page is read. With this option the emulated size is kept until the page has been saved. It helps saving pages that only keep on screen the content scrolled to, e.g. the timelines of x.com, at the cost of saving elements sized from the screen height, e.g. full-screen covers, at the emulated size (gildas-lormeau/SingleFile#2048 by @cheese529).single-file https://x.com/i/history/likes likes.html --browser-server http://127.0.0.1:9222 --load-deferred-content-keep-emulated-screen-size=true
CLI fixes and improvements
- The default value of
--accept-header-imagestarts withimage/jxl, like theAcceptheader of browsers supporting JPEG XL - Updated single-file-core to 1.10.0: SVG sprite fragments referenced from CSS
url()values and from image attributes are saved on their own instead of the whole sprite, thesandboxattribute of saved frames no longer carries a token Safari rejects nor a duplicated one, and thexmlnsattribute of extracted sprite fragments is declared in the XMLNS namespace
Co-authored by Claude (Claude Code)
- New option
-
π New Music Releases Cult of Luna - In the Shadow of Your Shadow rss
Cult of Luna - a new release is available:
- 2026-11-06: In the Shadow of Your Shadow (Album)
Amazon: Canada | Deutschland | France | United Kingdom | United States
Visit muspy for more information.
-
π New Music Releases Kings of Leon - O My Beloved rss
Kings of Leon - a new release is available:
- 2026-11-06: O My Beloved (Album)
Amazon: Canada | Deutschland | France | United Kingdom | United States
Visit muspy for more information.
-
π New Music Releases Royal Blood - Dead Company rss
Royal Blood - a new release is available:
- 2026-11-06: Dead Company (Album)
Amazon: Canada | Deutschland | France | United Kingdom | United States
Visit muspy for more information.
-
- November 05, 2026
-
π pydantic/monty v1.5.0 - 2026-11-05 release
What's Changed
- Fix OSAccess text appends to byte-backed files by @skulitom in #1121
- Fix
QUOTE_NONNUMERICfor custom numeric classes by @RanaPriyansh in #1115 - Preserve JS future snapshots after auto-resume rejection by @Claire-ovo in #1118
- Support bytes arguments in float() by @GoldArowana in #1120
- Collect enclosing bindings from function defaults by @RanaPriyansh in #1102
- Refill monty-pool to
min_processesin the background by @samuelcolvin in #926 - Allow Rust hosts to set session telemetry parents by @strawgate in #1129
- Split compact BuiltinType from runtime Type by @jaheba in #1100
- Refuse removal of the OSAccess filesystem root by @oodadoudou in #1164
- Allow hosts to lower the protocol decode budget by @strawgate in #1145
- Fix session disposal race in websocket header test by @jaheba in #1167
- Fix type checking for open builtin by @DanielTemesgen in #943
- Preserve file types in stat results with special permission bits by @oodadoudou in #1161
- Fix out-of-range bounds in str and bytes methods by @Likheet in #1136
- Raise
OverflowErrorwhen date arithmetic leaves the supported range by @Likheet in #1135 - Dict: Preserve original key when updating entry by @Likheet in #1139
- Report intermediate files as NotADirectoryError in OSAccess by @oodadoudou in #1163
- Fall back to insertion order in
Counterrepr when counts cannot be ordered by @Likheet in #1151 - Write a function's repr without quotes around its name by @Likheet in #1156
- Support
default=injson.dumps()andjson.dump()by @samuelcolvin in #1171 - Add the
fnmatchmodule by @samuelcolvin in #1172 - File imports by @samuelcolvin in #1072
- Add
Value::InlineStringvariant by @jaheba in #994 - Split CodSpeed walltime from shared x86 simulation and memory by @jaheba in #1087
- Configure CPU execution limits and supervision per pool by @strawgate in #1165
- Compare inline strings directly as bytes by @jaheba in #1185
- Add
typing.get_type_hints()by @samuelcolvin in #1126 - Preserve WebSocket disconnect diagnostics in the Python client by @strawgate in #1180
- Run every CodSpeed mode in one workflow, walltime behind a label by @samuelcolvin in #1198
- Add
datetime.fromtimestamp()anddate.fromtimestamp()by @samuelcolvin in #1170 - Bump rust-lang/crates-io-auth-action from 1.0.5 to 1.0.6 by @dependabot[bot] in #1203
- Bump taiki-e/install-action from 2.87.26 to 2.87.31 by @dependabot[bot] in #1204
- Bump actions/cache/restore from 5.1.0 to 6.1.0 by @dependabot[bot] in #1205
- Bump getsentry/codecov-action from 0.4.3 to 0.4.4 by @dependabot[bot] in #1206
- Bump astral-sh/setup-uv from 10.2.0 to 10.3.2 by @dependabot[bot] in #1207
- Raise MontyRuntimeError when a result cannot be converted to Python by @rewitt94 in #1191
- Charge directory creation against a mount's write_bytes_limit by @rewitt94 in #1187
- Fail empty paths in the sandbox instead of resolving them to the cwd by @rewitt94 in #1190
- Add
annotationlib,get_type_hintsformats and PEP 563 handling by @samuelcolvin in #1194 - Cap MemoryFile growth in OSAccess by @rewitt94 in #1188
- Recycle pool workers after 1000 checkouts by default by @rewitt94 in #1189
- Record
__cause__and__context__on exceptions by @samuelcolvin in #1173 - Allow checkouts to confirm subprocess termination by @strawgate in #1215
- Re-enable string parser fuzzing by @jaheba in #1211
- Avoid repeated full-string scans in indexing and search by @jaheba in #1195
- Preallocate dict literals from their pair count by @jaheba in #1218
- PEP 649
__annotate__by @samuelcolvin in #1214 - Propagate uncatchable errors from key_error and repr export by @rewitt94 in #1224
- gRPC transport by @samuelcolvin in #1216
- Raise MemoryError from container repr instead of truncating by @rewitt94 in #1221
- Fix in-place mutation for builtin containers by @jaheba in #1229
- Apply the checkout's os_policy to restored sessions by @rewitt94 in #1225
- Verify remote server certificates with the operating system's trust store by @samuelcolvin in #1231
- Sort with a port of CPython's timsort by @rewitt94 in #1232
- Release half-built results when a builtin's limit check fails by @rewitt94 in #1233
- Parse regex patterns with CPython's grammar by @rewitt94 in #1217
- Strip only spaces and tabs before eval() source by @rewitt94 in #1234
- Monty client not a gRPC server error by @rewitt94 in #1237
- Bump fancy-regex to 0.20.0 by @rewitt94 in #1238
- Pin internal crate dependencies to exact versions by @samuelcolvin in #1251
- Cap file-import search at 32
__path__directories by @samuelcolvin in #1248 - Bump version to v1.5.0 by @samuelcolvin in #1253
New Contributors
- @skulitom made their first contribution in #1121
- @Claire-ovo made their first contribution in #1118
- @oodadoudou made their first contribution in #1164
- @DanielTemesgen made their first contribution in #943
Full Changelog :
1.4.0...v1.5.0 -
π idalib-rs/idalib Release v0.11.1 release
Features:
- Add support for applying
ida.cfgdirectives (contributor: @0xdea).
- Add support for applying
-
π @HexRaysSA@infosec.exchange Weβre at [@nullcon](https://bird.makeup/users/nullcon) Berlin π mastodon
Weβre at @nullcon Berlin π
A few of the Hex-Rays team are around today and tomorrow. If you use IDA, want to, or just want to talk reverse engineering, come say hi.
Tomorrow Arnau GΓ mez runs a hands-on workshop on binary (de)obfuscation. Details below.
π Fri 06 November, 11:00β12:30, Workshops track
π http://nullcon.net/talk/hands-on-binary- deobfuscation/ -
π HexRaysSA/plugin-repository commits sync plugin-repository.json rss
sync plugin-repository.json No plugin changes detected -
π backnotprop/plannotator v0.28.50 release
Follow @plannotator on X for updates
Missed recent releases? Release | Highlights
---|---
v0.28.49 | A checklist for each thread, a pill that shows who gets your reply, a calmer full screen, Inbox replies in T3 Code,--titlefor review and annotate
v0.28.48 | Reply attachments that follow the draft, links to any web page on Board cards, instant theme switches, a daily anonymous ping, a faster Inbox
v0.28.47 | Board lanes, Settings β Rows, a new thread header, a "Make it yours" tour step, Request guided review, Jira links on Board cards
v0.28.46 | Snooze a thread, Settings β Accounts, long pastes become file tiles, HTML pages on a phone, hide the repository owner
v0.28.45 | Plannotator Modern theme, a thread panel view, session names in the To picker, thread links open in place, comment on diagram parts
v0.28.44 | The iPhone keyboard no longer moves the Inbox, pictures stay clear of the option card, What's new over your tailnet
v0.28.43 | Voice dictation, combine and rename projects, Mark unread, full-screen threads, Q for open questions, search by type
v0.28.42 | Choose how your Inbox list looks, contents for long documents, link the Inboxes on two computers, clearer search, documents outside the project open from your own machine
v0.28.40 | Update works with update checks off, the thread bar shows the thread's name, agents before the project in list rows
v0.28.39 | Reply from full screen, thread names lead the Inbox list, one project per Claude Code session, a redesigned code review sidebar, Call flow as cards
v0.28.38 | Attach files to a reply in the Inbox, swipe through a question's picture choices, easier-to-read list rows, code on hover in Call Flow and Semantic Changes
v0.28.37 | DeepSeek Harness support, save plans to Notion, AsciiDoc in annotate, browse the whole repository in code review, Go to File and Go to Definition, Tidy and hand-offs in the InboxWhat's New in v0.28.50
The Inbox opens faster, uses less memory and no longer downloads the whole thread list on every agent message. This release also brings session names across the Inbox, initiatives on the Board, earlier comments on a file, global comments on Guided Reviews, and feature dialogs that ask before turning anything on. 37 PRs, 4 from outside contributors, with a first-time contributor.
Plannotator Inbox
Faster to open, lighter while it runs
The Inbox used to load all of its code when it opened: 21.8 MB of scripts, including the guided review reader, diagrams, math and every language's highlighting. It now starts with one script of about 4.5 MB and fetches the main parts when the window goes idle. Diagrams, math and language highlighting load the first time you need them. Every agent message also used to make the window download the whole thread list again, along with your drafts and Tidy's plan. Now the server sends only the rows that changed, your drafts are read when they can have changed, and Tidy's plan when you reach for it.
These numbers come from headless Chromium on a Mac, with a large generated store (13,800 messages, 220 open threads in the busiest project). Yours will differ.
| Before | After
---|---|---
Time until the list is on screen | 661 ms | 283 ms
Tab memory after load | 223 MB | 134 MB
JavaScript memory after load | 50.4 MB | 19.1 MB
Network use over 60 agent messages | 20.12 MB | 0.93 MB
Idle CPU of the tab | 2.2 to 2.5% | 1.0 to 1.2%An empty Inbox gains too: the list shows in 238 ms instead of 627 ms, and the tab takes 90 MB instead of 175 MB. On a larger test store (30,000 messages), with a thread open, JavaScript memory now grows about 7 MB over 270 agent messages instead of about 25 MB, and a new check in CI fails if it grows past 14 MB. The idle CPU drop comes from the sidebar's mascot, whose animation no longer makes the browser recalculate styles on every frame.
Threads and guided reviews open about as quickly as before, and when a thread opens, its code and math are drawn on the first paint, with no flash of plain text. The first Mermaid diagram you open takes a little longer (about 265 ms instead of 212 ms) because its code now loads then. Loading on first use adds one new way to fail: a tab left open across an Inbox update can ask for a file that has gone. When that happens it says "This page was updated. Reload to see this" where that part would show, and the rest of the window keeps working.
Reported by @navin-moorthy, who saw 1.6 GB on a large store, in #2593. #2604, #2605, #2607, #2613, #2616
In case you missed them: Mark unread and Archive
Hover a read thread for Mark unread: it goes back to New, in bold, until you next open it, and nothing is sent to the agent. An archived thread comes back on its own when an agent replies in it.
Feature dialogs ask first
Behavior change: the dialogs that introduce the Board and the Checklist no longer turn anything on. Each one offers Turn it on and Not now. Not now, Escape or a click outside changes nothing, and you can still turn the feature on later in Settings β Capabilities. If 0.28.49 turned one on for you, it stays on until you turn it off. #2598
Session names across the Inbox
A session's name now shows in the @ picker, in the tooltip on a thread row's agent marks, in Send to another session, and as the author of its messages. Rename a session and its messages follow. Claude Code's names now also come from its transcript, so a bare
/rename,--nameand a rename from a phone all count. Asked for by @zane668 in #2450. #2591Initiatives on the Board
Initiatives group Board cards. The Board's new Filter menu holds initiatives and projects in one place, and you set a card's initiative from its right- click menu or from the opened card. Deleting an initiative takes one click, with Undo, and its cards stay.
Type
#in the reply box, New message or New card to pick an initiative. A sent tag links to the Board filtered to that initiative, and hovering it, or tapping it once on a phone, previews its cards and threads. Your message also puts the thread's card in that initiative.Agents can put a card in an initiative too, through the card tool or
plannotator card create <title> --initiative <name>, and delete one when its work is done. Turn the Board on in Settings β Capabilities. #2619, #2630, #2633Earlier comments on a file
When a file comes back in a new version, the comments you already sent on it stay in the comments column, in a dimmed, read-only "Earlier" list under the current ones. On a computer, the comments button counts them. The list starts folded when you have comments of your own on that file and open when you have none. The side-by-side comments column also scrolls now, so a long list is no longer cut off there, in guided reviews included. #2634
Smaller changes
- On an iPhone, Reply no longer hides when you tap an option, and the page no longer stays clipped after a rotation. #2628
- A reply's delivery line now reads "Read by Claude Code, 6:25 PM" when another kind of agent read it, instead of "Delivered to" the agent it was for. #2638
- A reply from the floating box on an image, film or HTML page now tells the agent which file was on screen. You still see only what you wrote. #2645
- An agent can snooze a thread when you ask it to, or end the snooze, on this computer or a linked one. #2648
- With an HTML file in full screen and the comments drawer open, the reply box no longer runs over the drawer's foot. On a phone, "Write the reply" now takes you to the thread's reply box with your words kept. #2657
- Pressing Done on an action item no longer pulls you away from a note you've gone to. #2668
plannotator inbox --helpnow tells agents they can send a video inattachments. #2649- The Mark read tooltips now say "Mark read / quiet", and manual steps say "yourself" instead of "by hand" ("Connect yourself"). #2651, #2614
Plannotator
Global comments on Guided Reviews
Guided Reviews have a Global comment button, in the Inbox and in the review app, for a remark on the whole review rather than a line or a file. Global comments are listed at the top and go first in what your agent receives, under
## Global comments. The review app's "+ General comment" is now "+ Global comment", and its export's## Generalsection is now## Global comments, ahead of the files. If adding one fails while the review is busy, your words are kept. #2584, #2622Open a guide you wrote elsewhere
plannotator guide importsaves a guide written outside a review, from--guidewith--patch, or from--snapshot. The nextplannotator reviewof that repository lists it under Guides, andguide export --idandguide share --idwork on it. Built on the prototype by @UberMouse, closing #2589. #2603Annotate shows config and data files as they are
.yaml,.json,.toml,.ini,.csv,.log,.xmland similar files used to go through the Markdown renderer, so a#comment became a heading. Each now shows as its own text in one highlighted code block, and you can select and comment as before..cfgand.confstay plain monospace, because the name does not say which syntax is inside, and a file over 128 KB shows without highlighting. By @BenNewman100, closing #2586. #2587Print HTML explainers in full
Print / Save as PDF now prints the HTML document itself, so nothing is cut off, and sibling sections start on new pages with headings kept with their content. The browser's own print menu no longer clips either, but section page breaks need the app's Print action. By @utpalsinghdev, closing #2317. #2580
Pi: reviews stay open and feedback reaches the right session
A gated annotation review opened by Pi now stays open when its tab closes or loses its connection. Feedback goes first to the session that opened the review, so an Oh My Pi task subagent no longer receives feedback meant for its parent. By @utpalsinghdev, closing #2553 and #2554. #2581
Smaller changes
- Images attached to private GitHub PR descriptions and comments now load in
plannotator review, and GitHub credentials stay on the server. By @utpalsinghdev, closing #2328. #2579 - In a guided review in the Inbox, each file's box now fits its diff, so a 5-line file no longer sits in a tall empty box. #2632
- Comment boxes keep your words when they close, and bring them back when you reopen the same target: the global comment on an HTML page, a line comment in a code file view, and a comment on an image region. #2611
- Selecting text again over a comment nested inside another comment now paints correctly instead of failing with no toolbar. #2599
- The README and the repo's remote guide now say SSH turns remote mode on by itself, WSL2 does not need it, and a published Docker port needs the variable. A VS Code devcontainer needs it only if the browser doesn't open by itself. They also say remote mode listens on every interface with no login, even over an SSH tunnel. #2642, #2646
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: The install script above also updates the plugin when
claudeis on your PATH. Otherwise, in a terminal:claude plugin marketplace update plannotator claude plugin update plannotator@plannotatorThen restart Claude Code. Inside Claude Code, run
/plugin marketplace update plannotator, then open/pluginβ Installed β plannotator β Update now.Pi:
pi update npm:@plannotator/pi-extensionOpenCode: Re-run the install script above. It also clears the OpenCode 2 plugin cache.
What's Changed
- Inbox: fetch only changed threads, coalesce refreshes by @backnotprop in #2604
- Inbox: load scripts on first use by @backnotprop in #2605
- Inbox: cheaper mascot animation by @backnotprop in #2607
- fix(inbox): recover when part of the page cannot load by @backnotprop in #2616
- Inbox: memory check over a large store in CI by @backnotprop in #2613
- Inbox reveals are opt-in: the Board and Checklist dialogs offer Turn it on / Not now by @backnotprop in #2598
- feat(inbox): session labels in @ tags, row agents, Send to another session and message authors by @backnotprop in #2591
- Board: initiatives, with one filter for projects and initiatives by @backnotprop in #2619
- Inbox: # initiative tags, with a preview of the initiative by @backnotprop in #2630
- Inbox: agents can put a card in an initiative by @backnotprop in #2633
- Inbox: earlier comments on a file, in the comments column by @backnotprop in #2634
- Inbox phone: keep the keyboard pin from sticking; keep Reply when a radio is picked by @backnotprop in #2628
- Inbox: say who read a reply when it wasn't the agent it was for by @backnotprop in #2638
- Inbox: tell the agent which file was on screen when a reply goes from the floating box by @backnotprop in #2645
- feat(inbox): an agent the person asked can snooze a thread, here or on a linked machine by @backnotprop in #2648
- Inbox: keep an HTML file's reply box off the drawer's foot by @backnotprop in #2657
- Inbox: Done no longer takes focus back from a note the person went to by @backnotprop in #2668
- Tell agents they can send video in plannotator inbox --help by @backnotprop in #2649
- Inbox: the Mark read tooltips say Mark read / quiet by @backnotprop in #2651
- Inbox: say 'yourself' for manual steps instead of 'by hand' by @backnotprop in #2614
- Change the address on every Inbox notification click by @backnotprop in #2644
- Debug log: record near misses of the voice mic by @backnotprop in #2597
- feat(guides): global comments on Guided Reviews by @backnotprop in #2584
- Keep a global comment's words when adding it fails by @backnotprop in #2622
- guide import: open an authored guide in a review by @backnotprop in #2603
- fix(annotate): config and data files render as their own text, not markdown by @BenNewman100 in #2587
- fix(print): make HTML explainers printable by @utpalsinghdev in #2580
- fix(pi): preserve gated reviews and route feedback to their opener by @utpalsinghdev in #2581
- fix(review): load private GitHub attachment images by @utpalsinghdev in #2579
- Guided Reviews: fit each file's box to its diff by @backnotprop in #2632
- fix(ui): comment boxes keep the words typed on close by @backnotprop in #2611
- fix(ui): selecting again over a highlight inside a highlight paints instead of throwing by @backnotprop in #2599
- Correct the remote mode docs for SSH, WSL2 and devcontainers by @backnotprop in #2642
- Correct what the devcontainer doc and the bind comment say about remote mode by @backnotprop in #2646
- chore: add Inbox to the bug report form by @backnotprop in #2601
- marketing: new Inbox headline and share image by @backnotprop in #2602
- Inbox page: header matches the share image by @backnotprop in #2609
New Contributors
- @UberMouse made their first contribution in #2603
Contributors
- @utpalsinghdev fixed printing of HTML explainers in #2580, private GitHub images in #2579, and Pi's gated reviews and feedback routing in #2581.
- @BenNewman100 reported that config files rendered as Markdown in #2586 and fixed it in #2587.
- @UberMouse proposed
plannotator guide importin #2589 and wrote the prototype that #2603 shipped, with their commit kept.
Community
- @navin-moorthy reported the Inbox's memory use on a large store in #2593, and answered follow-up questions about what fills it.
- @zane668 asked for session names in #2450 and followed up with the places that still showed only the agent. They also reported a blank page after commenting on an attachment in #2594. Looking into it turned up the selection bug fixed in #2599.
- @instant-agent99 reported both Pi issues, #2553 and #2554.
- @dougcooper asked for printable explainers in #2317.
- @mauricedesaxe reported that images in private-repo PR descriptions did not load in #2328.
Full Changelog :
v0.28.49...v0.28.50 -
π OmniNull/OmniWM Canary 20261105-0906 (0d886db9) release
Automated canary build of
main. It is signed and notarized like a release but skips the owner review, so treat it as unstable.See the canary guide to install, update, or return to stable. For everyday use, download the latest stable release.
- Commit:
0d886db9530a - Base tag:
canary-20261104-0414-41771564178-1
Changes since canary-20261104-0414-41771564178-1
0d886dbCompare settled viewports in the close focus tests44b0586Hold the metrics writer open instead of spinning in its test06109f7Move the remaining test waits onto real events9e6bea5Let tests await the tasks they were waiting forb0447a2Replace timing waits in tests with real completion06d8428Move the focus ring in WindowServer during slidesc1806a5Stop reading window positions while windows slide9b04524Start CI's Swift build cache over178f713Name every workspace in the Vitreus bar7d1c389Bring Vitreus Focus and Pad back to the Deskeccfde5Split the island table parserdfedbbbTop-align Get Styles and lift example buttons off the window016fcfeLet an island declare that it draws the System Stats button3552d15Fit Niri columns and floated windows to the bar's room1c4eefcMove a new window before rescanning its appe0979b4Drag OmniShell utility windows without macOS's child-window lag59e127eGive every style a gallery previewb342bddBring Vitreus up to the shared bar rules7f3838eShow OmniShell app icons on dark bars and give example buttons a background7f150a8Read OmniWM's own focused window on the main threade3f0d1dExplain Lake's CI widget and note what managed policy skips1d92e9aLet OmniShell apps ask for program and network permissione018c76Let hosted app windows move past the top and bottom of the screen278dddeDocument hosted apps and add an approved-provider examplea73f6a7Make CI correctness checks independent of machine loadb52f3b8Keep thin Niri pictures stillbdb9f74Stream resting Niri pictures instead of polling captures
- Commit:
-
π Console.dev newsletter Sponsor: Flox rss
Flox - Try 80+ agentic AI tools on your own machine. No containers. No dependency conflicts.
-
π Console.dev newsletter Osewa rss
Terminal connectivity protocol.
What we like: Uses QUIC or a TLS WebSocket to connect to terminal sessions. Acts almost like a proxy between terminal sessions, built on Ghosttyβs engine. You can close the client without the server quitting. Every device gets its own key - no passwords.
What we dislike: Transport-only for now, not a multiplexer. No Windows support. Website animations are annoying.
-
π Console.dev newsletter Vinext rss
Nextjs on Vite.
What we like: API-compatible (currently at 94%) alternative runtime for Nextjs, built on Vite. Claims faster builds and smaller client bundles. Migration can be done through a CLI by your agent. Supports most common Nextjs features. Sophisticated caching options.
What we dislike: Primarily designed for running Nextjs on Cloudflare today, which does work well. Nitro is a non-Cloudflare alternative.
-
π Console.dev newsletter Sponsor: BuildKite rss
Programmable CI orchestration for AI
-
π jj-vcs/jj v0.47.1 release
This release fixes a dependency error that broke Linux builds in the 0.47.0
release.About
jj is a Git-compatible version control system that is both simple and powerful.
See the installation instructions to get started.Deprecations
- The
git.sign-on-pushboolean option is deprecated in favor of the
revsets.git-sign-on-pushrevset. The default value isnone(). If
git.sign-on-pushwas previously set totrue, it will be migrated to
revsets.git-sign-on-push = "~signed() & mine()".
New features
- New
revsets.git-sign-on-pushconfig option containing the revset of
commits to be signed whenjj git pushis run. It replaces the
git.sign-on-pushboolean option.
Contributors
Thanks to the people who made this release happen!
- Philippe Daouadi (@blastrock)
- The
-
π Filip Filmar rules_vunit: VUnit Testbenches Under Bazel rss
rules_vunitpackages VUnit, the unit-testing framework for VHDL, as a hermetic Bazel module. Testbenches written against VUnit check, run, and logging libraries execute as standardbazel testtargets. Incocoapuffs-fpga, the module manages approximately thirty*.test.vhdltestbenches evaluated by the NVC simulator. The primary architectural choice inrules_vunitis what it omits: the Python orchestrator.Separating library from orchestrator
VUnit consists of two distinct components. The first component is a VHDL runtime library (
vunit_lib), containing check assertions, test runner primitives, and logging utilities. The second component is a Python test orchestrator (run.py), which scans the source tree, computes compilation order, invokes simulators, and aggregates test results. -
π Servo Blog September in Servo: <progress>, rounded rectangles, and more! rss
Servo 0.7.0 contains all of the changes we landed in September, spanning 527 commits!
The developer tools console now eagerly evaluates JS inputs, allowing faster feedback (@freyacodes, #47527).
Weβve shipped new web platform features:
- the :checked pseudoclass (@skyz1, #47987)
- the user-select property (@SimonSapin, @mrobinson, #48137, #48242)
- the < progress> element (@rayguo17, #46974)
- CSS typed arithmetic (@Loirooriol, #48338)
- the alpha() CSS function (@Loirooriol, #48344)
- the font-width property (@Loirooriol, #47914)
Plus a bunch of new DOM APIs:
- parentRule on CSSRule and CSSStyleDeclaration (@skyz1, #47743)
- version on HTMLHtmlElement (@SilvioPilato, #47786)
- getComposedRanges() and direction on Selection (@mrobinson, #47683)
- baseURL on CSSStyleSheet (@Gae24, #47783)
- CSS modules(@Gae24, #47813) and text modules (@Gae24, #47863)
- getContextAttributes() on CanvasRenderingContext2D and OffscreenCanvasRenderingContext2D (@Taym95, #47868)
- the Content-Language header (@TimvdLippe, #47930)
- dir on Document (@yezhizhen, #48170)
- SVGAElement , SVGPatternElement , SVGTSpanElement , SVGTextContentElement , SVGTextElement , SVGTextPositioningElement (@mu-mostafa98, #48174)
- the MLKEM768-X25519 algorithm for WebCrypto (@kkoyung, #48240, #48282, #48313, #48350)
- roundRect() on CanvasRenderingContext2D (@yezhizhen, #48293)
- paintTime and presentationTime on PerformancePaintTiming (@shubhamg13, #47926)
- getCueAsHTML() on VTTCue (@TimvdLippe, #48146)
Security We upgraded to SpiderMonkey v153.3 and mozangle v0.7 , both of which included fixes for security bugs reported upstream (@sagudev, #48176, #47655, #48259). Real world compat
The egui.rs demo now works as expected with
--pref dom._webegpu_enabled.This Candy Crush game is now playable.
Weβre interested to hear how well your favourite websites run in Servo! Report successes in this Zulip thread or this Github discussion, and failures in our GitHub issues.
Work in progress Our accessibility tree (--pref accessibility_enabled) now reports geometry bounds for inline elements (@alice, #47905) and does much less work when responding to DOM changes (@alice, @mrobinson, #47690). Additionally, elements with display: none are reported as hidden (@alice, #47772). We had lots of conformance improvements for our WebGL2 implementation (--pref dom_webgl2_enabled) (@mxmgorin, #48423, #48441, #48470, #48479, #48495, #48473, #48536). Support for WSIWYG editors (which rely heavily on contenteditable) is going very well: keyboard inputs are now hooked up when --pref dom_exec_command_enabled is present, so many editors are now usable (example). Closed captioning for video elements is making progress. Text tracks now fire enter, exit, and cuechange events (@TimvdLippe, #47725). Media elements now return the full sorted list of text tracks (@TimvdLippe, #47785), and adding cues to a text track now sets that track correctly (@TimvdLippe, #48012). Text track objects now reflect the attributes of the associated <track> element. Text track URLs are fetched at the correct time (@TimvdLippe, #48325), and active cues are computed correctly (@TimvdLippe, #48305), while text track cues are ordered as expected (@TimvdLippe, #48368). Additionally, WebVTT parsing can now recover from errors (@TimvdLippe, #48391). The Sanitizer API (--pref dom_sanitizer_enabled) now accepts the javascriptURLs property (@skyz1, #47867). IndexedDB continues to improve: tables no longer error if unrelated tables contain duplicate index names (--pref dom_indexeddb_enabled) (@leowatts, #47936). Additionally, we implemented openCursor() and openKeyCursor() on IDBIndex (@kuntal-devrat, #48281), as well as advance() , continue() , and continuePrimaryKey() on IDBCursor (@kuntal- devrat, #48400). We implemented the getTimeline() and setTimeline() methods for the Animation interface (--pref dom_web_animations_enabled) (@simonwuelker, #48122). Embedding API
Thereβs a new API for events originating from accessibility tools:
Servo::forward_accessibility_action(@alice, @mrobinson, #48512).There is also an API to clear session history:
WebView::clear_session_history(@Narfinger, #47483).The
WebView::set_throttledAPI has been removed (@mrobinson, #39923). Throttling automatically occurs when a WebView is hidden and is stopped when shown.The
WebViewDelegate::notify_focus_changedmethod was removed, along with theServomethodsfocusandblur(@mrobinson, #48364). Embedders must callWebView::set_focusedwhenever a WebView has gained or lost system focus.The
webglfeature has been added to thedefault_web_featuresfeature (@janeoa, #47866). If an embedding does not want to ship with WebGL support they will now need to disable default features.Multiprocess mode is enabled at build time with the new Cargo feature
multprocess(@Narfinger, #47360). To remove support for this feature (reducing binary size by ~2MB), build Servo with default features disabled.Two new preferences exist to tune garbage collector behaviour:
js_mem_gc_malloc_threshold_base_mbandjs_mem_gc_urgent_threshold_mb(@mxmgorin, #47999). These can help on memory-constrained devices, and more information is available in the SpiderMonkey source (base, urgent).The JVM compatibility target was raised to 11 on Android (@veyndan, #48414).
For users and developers It is now possible to cross-compile the OpenHarmony build from Windows hosts (@jschwe, #48392). Unhandled promise rejections are reported to the JS console (@TTyChud, #48486), making it easier to narrow down web compatibility issues in Servo. The OpenHarmony SDK was updated to API level 23 (@Narfinger, #48505). Pressing Control+A (or Command+A on macOS) now selects all the content in a document (@dzfrias, @mrobinson, #48025). It is no longer possible to copy text inside of password inputs (@dzfrias, #48404). Embedder-originating JS (e.g. devtools console or embedding APIs) will always execute, even in documents that disable scripting via sandboxing or CSP (@derdilla, #48394). Performance and stability [ __](https://servo.org/blog/2026/11/05/september-in-servo/#performance-and- stability) We improved performance by removing unnecessary allocations (@Narfinger, @TimvdLippe, @yezhizhen, #47689, #47839, #47838, #47982, #48006, #48036, #48099, #48204, #48127, #48218, #48357, #48386, #48422, #48440, #48452, #48508), preallocating more when building vectors (@jschwe, @Narfinger, @sagudev, @webbeef, #47455, #47613, #48026, #48398), and avoiding IPC in single process mode (@leowatts, @Narfinger, @Uiniel, @TTyChud, #47691, #47718, #48002, #48073, #48476, #48435). We also sped up Servo by reducing interactions with the GC (@TimvdLippe, @Narfinger, #47818, #48257, #48396), and doing less work when modifying selections (@SimonSapin, #47579), dispatching events (@webbeef, #48078), calculating font metrics (@RichardTjokroutomo, #48238), and indexing window frames (@mrobinson, #47832). We reduced memory usage in common cases by reusing buffers (@Narfinger, #47751), clearing more page- specific data (@Radeonares32, @Narfinger, @jschwe, @mrobinson, @mxmgorin, #47651, #47806, #47805, #48166, #48295, #48297, #48016), compacting data structures (@Narfinger, @webbeef, @SimonSapin, @mrobinson, #47776, #48039, #48050, #47742, #48301, #48296, #48105), and sharing more buffers (@jdm, #47998). We also fixed a memory leak involving <audio> and <video> elements (@TTyChud, #48371). We turned on thread affinity boosting on Linux, which can improve performance on some CPU architectures (@jschwe, #47058). Weβre working on statically preventing a footgun that can lead to uncollectible GC cycles and leaking memory (@Gae24, @jdm, @lumiscosity, @SilvioPilato, @sahilnyk, @TTyChud, @kuntal- devrat, @MohamedAli00949, #47941, #48013, #48021, #48035, #48033, #48051, #48072, #48171, #48209, #48248, #48246, #48264, #48285, #48311, #48408, #48053, #48156, #48186, #48223, #48315, #47872, #47698, #47682, #47735, #47816, #47817, #47794, #47909, #47934, #47935, #47954, #48022, #47955, #48058, #48228, #48247, #48261, #48280, #48302, #48316, #48328, #48346, #48355, #48262, #48377, #48304, #48378, #48388, #48432). We fixed panics in WebRTC (@MunishMummadi, #4772), execCommand() on Document (@TimvdLippe, #47784), <video> (@calvaris, #46148), <iframe> (@jdm, #48465), SharedWorker (@mrobinson, #47940), ancestorOrigins on Document (@mrobinson, #48009), about:memory (@mxmgorin, #47686, #48001), and EGL 1.4 configurations (@mxmgorin, #47803). We also fixed a very ironic panic triggered by the about:crash page that loads when a normal page triggers a panic (@mrobinson, #48055) The JS console no longer hangs when primitive values as thrown as exceptions (@FatCat560, #47629). Servo no longer hangs on shutdown in multiprocess mode (@Narfinger, #48523), when certain pages use IntersectionObserver (@mxmgorin, #47693), when closing a browsing context with pending WebDriver commands (@yezhizhen, #48131, #48172), or when closing SharedWorker s (@nicoburns, #48477). about:memory got more improvements: we measure more memory for SVG rendering (@Narfinger, @mrobinson, #47061), WebAudio (@jdm, #47996), and identify globals that have been leaked (@jdm, #48237). More on the web platform CSS images now delay theload event, leading to more consistent behaviour for engine users performing visual rendering (@TimvdLippe, #48199). Interactive selections in documents continued to improve! They now can span shadow trees (@mrobinson, @SimonSapin, #47931, #47694, #47895), and have consistent heights and positions (@mrobinson, #47937), plus there are new context menu entries to copy and select all (@mrobinson, #48101). Additionally, image- based content shows when it is part of a selection (@mrobinson, #48149). Window.open() respects sandbox flags that prevent popups (@mrobinson, #47653). LargestContentfulPaint now reports the loadTime for image content (@shubhamg13, #48286), ignores cross-origin frames (@shubhamg13, #48094), ignores invisible text (@shubhamg13, #48010), and reports null elements when they are removed from the tree (@shubhamg13, #48125). select() on a text input now focuses the control (@dzfrias, @mrobinson, #48475). Our WebDriver server now automates setting permissions (@xbwwj, @yezhizhen, #47623), while sending click events and keyboard actions uses fewer delays (@yezhizhen, #48066). There are more useful error messages for methods on Document (@eachra- bawn, #47835) and CSS -related interfaces (@eachra-bawn, @jdm, #47746). We upgraded our stylo dependency, which improves compatibility with contrast-color() , color-mix() , vertical-align , list-style , place-items , at-rule() , calc() , alpha() , attr() , content: attr() , and named- feature() (@Loirooriol, #46987, #47942). We also fixed bugs related to visibilityState on Document (@yezhizhen, #47908), containsNode() on Selection (@mrobinson, #47938), setKeyframes on KeyframeEffect (@simonwuelker, #48103), selections when focusing a text input (@mrobinson, #48107), AudioParam clamping and automation (@kevlu93, #48351, #48347), PannerNode outputs (@kevlu93, #48510), the muted attribute on HTMLMediaElement (@TimvdLippe, #48403), placeholders in text inputs (@jdm, #47761, #47797), animations when modifying document stylesheets (@SharanRP, #48000), gradient color stops (@BudiArb, #48288), sticky table rows (@TTyChud, #48380), ::first-letter (@Loirooriol, #48307), text-wrap-mode (@mrobinson, #48469), OTF fonts (@wood- ghost, #47904), CSS and nosniff (@sahvx655-wq, #45481), Sec-Fetch- headers and redirects (@TimvdLippe, #48203), moveBefore() on Node (@mrobinson, #47692), supports() on WebCrypto (@kkoyung, #47768, #47891, #47953, #47984, #48410, #47545), cross-origin windows (@mrobinson, @jdm, #47632, #48411, #48038), origins of about:blank and about:srcdoc (@mrobinson, #47630), keypress events (@mrobinson, #48324), text and media documents (@SilvioPilato, #47823), body() on Response (@TTyChud, #48409), <details> with <summary> (@TimvdLippe, #48224), editing hidden inputs (@dzfrias, #48165), attribute nodes in XPath (@leowatts, @mrobinson, #47912), absolutely positioned boxes (@mxmgorin, #48081), CSS Grid containers with absolutely positioned nodes (@nicoburns, #47519), WebDriver wheel/pointer actions (@yezhizhen, #48143), and blob: URLs (@Gae24, #47910). New contributors
A special thanks to the following people for landing their first patch in Servo:
- Arnau CamprubΓ (@Arnau478, #47726)
- Silvio Pilato (@SilvioPilato, #47786)
- Radeonares32 (@Radeonares32, #47651)
- derdilla (@derdilla, #47828)
- pr3pony (@pr3pony, #48030)
- Mario (@Fatcat560, #47629)
- TtyChud (@TTyChud, #48228)
- Devrate Kuntal (@kuntal-devrat, #48247)
- Diego Frias (@dzfrias, #48025)
- LiamillionSS (@LiamillionSS, #48424)
Interested in helping build a web browser? Take a look at our curated list of issues that are good for new contributors!
Donations
Thanks again for your generous support! We are now receiving 8144 USD/month (+1% from August) in recurring donations. This helps us cover the cost of our speedy CI and benchmarking servers, one of our latest Outreachy interns , and funding maintainer work that helps more people contribute to Servo.
Servo is also on thanks.dev, and already 37 GitHub users (+1 from August) that depend on Servo are sponsoring us there. If you use Servo libraries like url, html5ever, selectors, or cssparser, signing up for thanks.dev could be a good way for you (or your employer) to give back to the community.
We now have sponsorship tiers that allow you or your organisation to donate to the Servo project with public acknowlegement of your support. If youβre interested in this kind of sponsorship, please contact us at join@servo.org.
8128 USD/month
10000
Use of donations is decided transparently via the Technical Steering Committeeβs public funding request process , and active proposals are tracked in servo/project#187. For more details, head to our Sponsorship page.
-
π Ampcode News GitLab Integration rss
Amp now integrates with GitLab, on gitlab.com and on self-managed instances.
Connect your GitLab account and you can start projects from your GitLab repositories. Orbs clone and push as you and come with
glabsigned in, so the agent can open merge requests, comment on them, and read issues and pipelines.Amp can also subscribe to comments and CI for a merge request it opens. A reviewer's request or a failed pipeline lands in the thread that wrote the code, so Amp already has the context.
A New Orb for Every New Merge Request or Issue
Ask Amp to start a new orb for every new merge request or issue in a project. You don't need to keep the thread where you set it up. See Create an Orb Spawner.
Each new merge request or issue gets its own orb, which reads it and has a summary ready when you open the thread. Later comments go to that same thread. Workspace admins can also run a spawner as a service account.
You manage all of these in Settings β Integrations & MCP β GitLab under Event Subscriptions, where you can pause or delete them, edit a spawner, and see the orbs each spawner started.
Set It Up
Each person connects GitLab in Settings β Integrations & MCP. Then a group Owner installs Push Updates once for the workspace, with one button in Workspace Settings β Integrations & MCP.
Amp also supports self-managed GitLab. See Self-Managed Instances.
Connect GitLab to get started.
-
- November 04, 2026
-
π IDA Plugin Updates IDA Plugin Updates on 2026-11-04 rss
IDA Plugin Updates on 2026-11-04
New Releases:
Activity:
- ida-settings
- 9126b91b: plugin v1.3.2
- rhabdomancer
- eac453c4: fix: comment also call locations at a function's start, and leave comβ¦
- 8c514142: docs: improve readme
- b105ec35: fix: match 32-bit x86 functions whose names carry the size of their aβ¦
- d3b07bf5: test: also catch decorated aliases in the built-in configuration
- 4785595d: docs: update claude.md
- 4c6e034c: docs: add todo item
- 2707403b: chore: remove redundant entries from the built-in configuration
- a4ab06f7: fix: match glibc's c99 and c23 redirects
- f93427a4: fix: match functions whose names carry the variant suffixes of apple'β¦
- Security-Tools
- a0d2c06f: Update
- ida-settings
-
π gildas-lormeau/single-file-cli v2.23.0 release
SingleFile CLI 2.23.0
New features
- New options
--custom-stylesheet-fileand--embedded-script-file: the path of a file holding the CSS of--custom-stylesheetor the code of--embedded-script, for rules or scripts too long or too awkward to quote on the command line. Each one is refused together with its inline form.single-file https://www.example.com/scorecard scorecard.html --custom-stylesheet-file=tabs.css --embedded-script-file=tabs.js
CLI fixes and improvements
- Updated single-file-core to 1.9.1: the first occurrence of a repeated inline stylesheet is no longer kept in full next to its shared copy when
--group-duplicate-stylesheetsis enabled, subset fonts produced by--remove-unused-glyphskeep the glyphs CoreText needs to align small text on macOS, and the serializer writes processing instructions and CDATA sections instead of the word "undefined"
Co-authored by Claude (Claude Code)
- New options
-
π jj-vcs/jj v0.47.0 release
About
jj is a Git-compatible version control system that is both simple and powerful.
See the installation instructions to get started.Release highlights
-
Templates now have a top-level
revset(revset: Stringify) -> List<Commit>
function for evaluating revsets during templating. -
In colocated workspaces,
jj describe -r@,jj restore --into=@, etc. no
longer reset the staging area, just as snapshotting doesn't.jj new @-still
resets it.
Breaking changes
-
In non-colocated workspaces,
jj git fetchandpushno longer update
remote-tracking Git refs. Usejj git exportto export remote bookmarks to
Git. -
In non-colocated workspaces,
jj git import; jj undo; jj git importno longer
re-imports external changes. Runjj git exportto reflect undone changes in
Git.jj git fetch; jj undo; jj git fetchcontinues to work as expected. -
Timestamp.format()now follows jiff's strftime
syntax instead of
chrono's. Most directives, including the default format, are unchanged, but:-
%vand%+are no longer supported. Use%e-%b-%Yand
%Y-%m-%dT%H:%M:%S%.3f%:z(which always includes milliseconds) instead. -
%c,%x, and%rproduce different output. For example,%xnow
formats as2001 M07 8rather than07/08/01. -
%fnow prints only as many digits as needed rather than always 9. Use
%9for%Nfor the old behavior. Similarly,%.fno longer pads to 3, 6,
or 9 digits, so it formats as.12rather than.120. -
%Znow prints a time zone abbreviation. Use%:zto get an offset. %:::znow includes the minutes of an offset when they are non-zero.-
New directives and flags such as
%N,%Q,%^a, and%5Yare now
accepted.%#zno longer panics. -
json(timestamp)now prints a UTC time zone offset as+00:00instead of
Z.
-
-
The bookmarks and tags list now include absent targets for conflicted
bookmarks and tags. The.removed_targets()and.added_targets()template
methods now returnList<Option<Commit>>.
New features
-
jj git pushwithgit.sign-on-pushenabled now signs commits in a
separate operation before the push, so commits stay signed if the push
fails and a new push doesn't have to sign them again. -
Diff hunk headers now include symbol context even for unsupported languages.
-
jj resolvegained a built-in:editormerge tool that opens the conflicted
file with conflict markers in your text editor. Unlike the other merge tools,
it supports conflicts with more than two sides. -
jj config gcnow also cleans up workspace configs whose paths no longer
exist. -
Commit.contained_in()now accepts aStringifyinstead of aStringLiteral.
This enables dynamic query building during templating. -
Templates now have a top-level
revset(revset: Stringify) -> List<Commit>
function for evaluating revsets during templating. -
The
TreeEntrytemplate type now has.removed_values() -> List<Option<TreeValue>>
and.added_values() -> List<Option<TreeValue>>methods, andTreeValuenow
exposes.object_id(),.file_type(), and.executable()methods for
inspecting each side of a (possibly conflicted) tree entry. -
The
WorkspaceReftemplate type now has a.current_workspace() -> Boolean
method, which can be used to identify the current workspace. This is slightly
different thanself.target().current_working_copy()because multiple
workspaces can point to the same commit. -
jj next/jj prevnow accept a change ID prefix when prompting for the
target commit. The specialqquit choice was removed; cancel with EOF.
#9790 -
jj convergenow accepts a change ID prefix when prompting for the change
to converge. The specialqabort choice was removed; canceling with EOF now
exits with an error (previouslyqaborted successfully). -
jj file searchnow detects binary files (any null byte in the first 8000
bytes) and emitsBinary file matches: <path>instead of dumping raw bytes to
stdout. Use--binary-as-textto force text treatment, or--skip-binaryto
skip binary files entirely.
Fixed bugs
-
jj git pushno longer validates (e.g. for empty descriptions) commits that
are already on the remote as a tag. -
jj git fetchno longer creates additional refs based on non-standard Git
remote.<name>.fetchconfiguration. -
jj gerrit uploadno longer rejects uploading empty merge commits. -
The operations created by
jj workspace addare now attributed to the
workspace the command was run in, sojj undothere undoes them instead of
refusing to undo an operation from another workspace. -
jj workspace add -rwith an invalid revision no longer leaves a
half-created workspace behind. -
Shell completion now suggests tag names for
jj tag track,jj tag untrack,
jj tag list,jj git fetch --tag, andjj git push --tag. -
Fixed tag deletion with
jj git fetch --tag=NAME. -
jj workspace removecan now remove stale workspaces.
#10276 -
Fixed issue with
config-schema.jsonwhere Taplo (TOML parsing library) would
flag anyaliasesdefined as a table but without an explicit
.enabled = trueas "valid under more than one of the schemas". This affected
downstream tools such as editor extensions showing errors in perfectly valid
config files. -
Fixed a race condition in colocated workspaces where concurrent
jj git fetch
andjjcommands could import partially fetched refs, causing divergence.
#7349 -
Fixed a race condition in colocated workspaces where changes to the Git index
made by a concurrent Git process could get lost. -
In colocated workspaces, Git export failures are no longer misidentified as
external changes. Those changes are now re-exported on the nextjj
invocation. #10478 -
In colocated workspaces,
jj describe -r@,jj restore --into=@, etc. no
longer reset the staging area, just as snapshotting doesn't.jj new @-still
resets it. -
jj runnow materializes conflicts usingui.conflict-marker-styleinstead
of always using thesnapshotstyle.
#10390 -
The Git backend now leaves out the root commit as a parent of a merge commit
instead of failing. This fixes abandoning a child of the root commit that is a
parent of a merge commit, including when a Git import abandons it.
#8076 -
On Unix, repository files under
.jjare now created with default file
permissions. -
Racy
jj config setinvocations no longer corrupt the target file. The last
save wins; changes from other concurrent invocations may be lost.
#10350 -
Date patterns such as
after:"2024-03-10 03:30"are now resolved with the
correct UTC offset on days with a daylight savings transition. Previously,
the offset from the start of the day was used, so times after were off
by an hour. Likely a niche bug fix, but a bug fix nonetheless! -
Deeply nested revset, fileset, and template expressions are now rejected
instead of causing a crash.
#10071 -
In graph output, an elided edge that passes through a merge or fork line is
now drawn as elided (β·) before reaching the node, instead of looking like a
direct edge. Consecutive unconnected nodes, such as in thejj op show
graph, are now separated by a blank line so they don't look connected. -
jj logno longer draws a commit as a merge with two elided edges to the
same commit when there's a merge between them whose parents both lead to
that commit. -
The "Did you mean" hint for a mistyped bookmark, revision, or function no
longer lists every similar name. It now shows the 5 most similar ones,
most similar first, followed by e.g.or 20 others.
#8017
Contributors
Thanks to the people who made this release happen!
- Aaron Sood (@arsood)
- abdoul-kader keita (@kkeita)
- abgox (@abgox)
- Alexey Sokolov (@alexey-arista)
- ase (@adamse)
- Brice Figureau (@masterzen)
- Bryan O'Sullivan (@bos)
- Byron (@Byron)
- Caleb White (@calebdw)
- David Barsky (@davidbarsky)
- David Rieber (@drieber)
- EyΓΌp Can Akman (@eyupcanakman)
- Greg Falcon (@vslashg)
- JamBalaya56562 (@JamBalaya56562)
- Jonas Natten (@jnatten)
- Joseph Lou (@josephlou5)
- Josh McKinney (@joshka)
- Kevin Liao (@kevincliao)
- Martin von Zweigbergk (@martinvonz)
- Marukome0743 (@Marukome0743)
- Matt Stark (@matts1)
- Nitzan Raz (@BackSlasher)
- Philip Metzger (@PhilipMetzger)
- Rebecca Turner (@9999years)
- Sami Hiltunen (@SamiHiltunen)
- Shardul Natu (@kiranani)
- Siva Mahadevan (@svmhdvn)
- xuanchangfeng (@xuanchangfeng)
- Yuya Nishihara (@yuja)
-
-
π @HexRaysSA@infosec.exchange * Malware Analysis Add-on only works with an active IDA Pro 9.5 license. mastodon
- Malware Analysis Add-on only works with an active IDA Pro 9.5 license.
- Cannot be combined with any other promo or discount.
- 50% off discount can be applied in the web shop or contacting sales@hex-rays.com.
- Already own IDA? To attach the Add-on to your existing license, select that license from your license list before completing your purchase. See blog for install instructions.
- 50% off discount promo ends 31 December 2026 @ 11:59pm.
-
π @HexRaysSA@infosec.exchange π Meet the Malware Analysis add-on for IDA Pro. mastodon
π Meet the Malware Analysis add-on for IDA Pro.
It does the slow parts of malware analysis for you:
- detects packed samples on load and offers to unpack them
- full-system Windows emulation, no VM needed
- sandbox events (VMRay or Speakeasy) overlaid on disassembly and pseudocode
- works headless with idalibRead the walkthrough, with a packed sample and APT41's PLUSDROP loader: https://hex-rays.com/blog/malware-analysis-the-new-add-on
50% off with MALADD50 until 31 Dec!
*See comments for promo terms. -
π HexRaysSA/plugin-repository commits sync repo: +2 releases rss
sync repo: +2 releases ## New releases - [ida-cyberchef](https://github.com/hexrayssa/ida-cyberchef): 0.4.0 - [ida-settings-editor](https://github.com/williballenthin/ida-settings): 1.3.2 -
π Hex-Rays Blog Malware Analysis, the new Add-on rss
-
π backnotprop/plannotator v0.28.49 release
Follow @plannotator on X for updates
Missed recent releases? Release | Highlights
---|---
v0.28.48 | Reply attachments that follow the draft, links to any web page on Board cards, instant theme switches, a daily anonymous ping, a faster Inbox
v0.28.47 | Board lanes, Settings β Rows, a new thread header, a "Make it yours" tour step, Request guided review, Jira links on Board cards
v0.28.46 | Snooze a thread, Settings β Accounts, long pastes become file tiles, HTML pages on a phone, hide the repository owner
v0.28.45 | Plannotator Modern theme, a thread panel view, session names in the To picker, thread links open in place, comment on diagram parts
v0.28.44 | The iPhone keyboard no longer moves the Inbox, pictures stay clear of the option card, What's new over your tailnet
v0.28.43 | Voice dictation, combine and rename projects, Mark unread, full-screen threads, Q for open questions, search by type
v0.28.42 | Choose how your Inbox list looks, contents for long documents, link the Inboxes on two computers, clearer search, documents outside the project open from your own machine
v0.28.40 | Update works with update checks off, the thread bar shows the thread's name, agents before the project in list rows
v0.28.39 | Reply from full screen, thread names lead the Inbox list, one project per Claude Code session, a redesigned code review sidebar, Call flow as cards
v0.28.38 | Attach files to a reply in the Inbox, swipe through a question's picture choices, easier-to-read list rows, code on hover in Call Flow and Semantic Changes
v0.28.37 | DeepSeek Harness support, save plans to Notion, AsciiDoc in annotate, browse the whole repository in code review, Go to File and Go to Definition, Tidy and hand-offs in the InboxWhat's New in v0.28.49
A checklist for each Inbox thread, a pill that shows who gets your reply, a calmer full screen, Inbox replies that reach T3 Code, and
--titlefor review and annotate. 20 PRs, 2 from outside contributors, including a first-time contributor.Plannotator Inbox
A checklist for each thread
An agent can keep a short checklist of its steps in a thread. The thread's foot shows a pie and a count such as "3/6", and opens the list with what is done, what is in progress, and "Waiting on you βΊ", which takes you to the agent's open question. Board cards show the same checklist, and Tidy lists a thread whose step has not moved in 2 hours or whose agent has ended. Turn it on in Settings β Capabilities β Checklist. #2565, #2567, #2571, #2572
The Board and the Checklist introduce themselves
Behavior change: if you have used the Inbox for a few days and never turned the Board or the Checklist on or off, a one-time dialog shows it to you and turns it on. You can turn either off again in Settings. The dialogs come at a quiet moment, at least two days apart, and never to a guest on your tailnet. #2569, #2583
See who gets your reply
When a thread has more than one agent, a pill under the reply box names the agent your reply goes to. Tap it to pick another agent or add a second one. The Reply arrow on a message points the pill at that agent, and "Reply to X in Z" above the box is gone. #2557
Full screen folds into one corner button
In full screen, the toolbar, the reply card and the other floating tools now fold into one small button in the bottom-right corner, and one press brings them back. The button still shows a waiting draft, the comment count and the "changed" dot. #2575
Inbox replies reach Claude in T3 Code
A reply to Claude running in a T3 Code thread now arrives in that thread as a new turn. Run
plannotator t3to set it up. Built on @hydn-n's work in #2532. #2563Smaller changes
- Snoozing the thread you have open moves its row out of the list right away. Undo puts it back in the same place. #2574
- The
/skill list in the reply box shows in full on an iPhone with the keyboard up. #2576 - A reply now wakes a Codex thread that sent its message with
plannotator inbox call. Reported by @talf301 in #2573. #2577 - The check mark in the full-screen Open in menu no longer shows as a black triangle. #2570
- A guest on your tailnet can no longer change threads on a computer linked to your Inbox. #2564
Plannotator
Name the tab with
--titleplannotator annotate,annotate-lastandreviewtake--title <text>, which sets the browser tab's title. Annotate also shows it in the header. Agents can use it to tell apart reviews of files with the same name. By @BenNewman100, closing #2289. #2537Share over your tailnet by default
Set
PLANNOTATOR_TAILSCALE=1, or"tailscale": trueinconfig.json, and code review, annotate andlastsessions open over your tailnet without--tailscaleon each call.PLANNOTATOR_TAILSCALE=0turns it off for one run. By @disintegrator. #2533DeepSeek Harness: commands and the
plannotatortoolDeepSeek Harness gets
/plannotator-review,/plannotator-annotateand/plannotator-last. Theplannotatortool is there too, off by default; setPLANNOTATOR_AGENT_TOOLto turn it on. #2556Smaller changes
- In a
--tailscalereview or annotate session, Ask this session follows the same owner rule as the Inbox, and the owner's hover cards work in every session. #2568 @plannotator/ui0.60.0 can keep the blank lines a person types in the chat transcript. #2561
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: The plugin and the
plannotatorbinary update separately, so run the install script above as well. In a terminal:claude plugin marketplace update plannotator claude plugin update plannotator@plannotatorThen restart Claude Code. Inside Claude Code, run
/plugin marketplace update plannotator, then open/pluginβ Installed β plannotator β Update now.Pi:
pi update npm:@plannotator/pi-extensionOpenCode: Re-run the install script above. It also clears the OpenCode 2 plugin cache.
What's Changed
- DSH native support, part 2: plannotator tool and /plannotator-* commands by @backnotprop in #2556
- Inbox: reply recipient pill under the box by @backnotprop in #2557
- feat(ui): ChatTranscript keepUserBlankLines; publish prep core 0.25.18, ui 0.60.0 by @backnotprop in #2561
- feat(inbox): Inbox replies reach Claude in T3 Code threads as T3 turns by @backnotprop in #2563
- fix(inbox): a tailnet guest cannot write to a linked machine through the forward by @backnotprop in #2564
- fix(tailnet): same owner rule for Ask this session by @backnotprop in #2568
- fix(ui): Open in menu check mark renders filled by @backnotprop in #2570
- feat(inbox): reveal the Board to returning users by @backnotprop in #2569
- feat(cli): --title names the tab for annotate, annotate-last and review by @BenNewman100 in #2537
- feat: PLANNOTATOR_TAILSCALE / config "tailscale" default for --tailscale by @disintegrator in #2533
- Inbox thread steps 1/5: store and wire by @backnotprop in #2565
- feat(inbox): thread steps for agents (2/5), behind the switch by @backnotprop in #2567
- feat(inbox): the checklist in the thread's foot (thread steps, part 3) by @backnotprop in #2571
- feat(inbox): the checklist on the Board and Tidy's step rule (thread steps, parts 4 and 5) by @backnotprop in #2572
- docs(agents): never compromise UX by @backnotprop in #2578
- fix(inbox): skill list always fully visible (phone keyboard, opens above) by @backnotprop in #2576
- fix(inbox): wake a Codex thread that sends with plannotator inbox call by @backnotprop in #2577
- fix(inbox): your own snooze moves the row at once by @backnotprop in #2574
- feat(inbox): full view gathers into one corner control by @backnotprop in #2575
- feat(inbox): Checklist reveal for returning users by @backnotprop in #2583
New Contributors
- @disintegrator made their first contribution in #2533
Contributors
- @BenNewman100 proposed
--titlein #2289 and built it in #2537. - @disintegrator made tailnet sharing a default you can set once, in #2533.
- @hydn-n wrote the T3 Code wake in #2532. It shipped in #2563 with their commits co-authored.
Community
- @talf301 reported that Inbox replies did not wake a Codex thread that sent with
plannotator inbox call, with the cause and a suggested fix, in #2573.
Full Changelog :
v0.28.48...v0.28.49 -
π Kagi release notes Nov 5th, 2026 - Your friends and family can finally try Kagi rss
Kagi Search
Search for everyone
As many of you know, we don't run ads anywhere. Instead, we are active on social media and online communities to stay close to you, build a great product, and rely on word of mouth.
We've heard that it can be hard to recommend a search engine when your friends can't try it without creating an account. That's changed: anyone, anywhere, can now visit kagi.com and search the web. No account required for the first 50 searches (100 more upon registration).
We are counting on you to spread the word to your friends and family <3

Our new landing page for new usersOur take on the latest Search industry news
Google announced that, starting in early 2027, AI tools will be turned off by default for school accounts. It sounds like a win for schools until you read that Google Search will be switched off along with them.
Our take: Education shouldn't be taken hostage by an advertising company. Letβs stop putting corporate profits over the imperative to educate students.
Our call to schools facing this choice: You don't have to accept it. There are alternatives to mandatory AI, and, yes, Kagi is one of them.
Our open letter to the tech industry: Education Shouldn't Be Held for Ransom
Android app
The Kagi Search app on Android has a redesigned home screen, rebuilt voice search, and new ways to reach Kagi from anywhere on your phone.

- Added a short tour on first launch that shows what Kagi can do, from bangs and lenses to ranking sites and voice search
- Redesigned the home screen, which now shows how many free searches you have left when you're trying Kagi without an account
- The search bar, logo and tabs on results pages are now native, and tuck away as you scroll
- Rebuilt voice search with its own screen and a new animation
- Choose the language for voice search
- Added a voice search tile to Quick Settings
- Add home screen widgets and the Quick Settings tile straight from Settings > Home Screen Widgets
- Added a Default Search Setup guide for making Kagi the search engine in your browser
- Paste an image into the search field to search by image
- Added a Quick Answer button next to search suggestions
- Assistant and Summarize now open in the app with a close button and a menu to reload, copy the link, or open in your browser
- Bang searches now follow the Result Opening setting
- Fixed Privacy Pass searches showing a blank page after a token key rotation
Other improvements and bug fixes
- If you want to hide the Quick Answer results, just click the Quick Answer button again and get all the space back on the page
- Image-search fails quietly on quotes in search term, and results worse than Google without them #11692 @jducoeur
- Add staan.ai as source #7926 @Algie
- Use and collaborate with openwebindex.eu and staan project #10259 @FreeTheIndex
- Kagi Specials link fails in HTML mode #11748 @larke12
- Kagi Quick Answer broken when accessing kagi from the .onion #11754 @roblabla
- HTML source code full of whitespace #11772 @tuesday
- Keyboard shortcut o does the wrong thing and is not documented #10202 @svenssonaxel
- Search results can cause browser navigation and other HTML processing #11791 @decade6331
- Custom bang settings overwritten when bang is moved in the More menu #10428 @tillulen
- Custom bangs with identical names are deleted after accessing them via Search Options > More > Customize #10429 @tillulen
- Search query lost after logging in from a private/incognito window #11684 @ddvp7548db
- Wikipedia widget fails for article links containing URL-encoded characters #10400 @sapphyrus
- Japanese punctuation in !bangs doesn't work #7930 @sbrl
- Bing returning irrelevant Reddit results #11707 @Catastrophe
- Unrelated site appeared at top of search results using
site:operator #10387 @jon-chrt - Results don't align with region (QuΓ©bec subjects don't show up when set in region "Canada") #2915 @fmg
- Video search has poor date/time filters #8702 @NightmareNightmareNightmare
- Early Adopter flag disappears when joining a family #9448 @VIEWVIEWVIEW
- Add search results timer and uniqueness % to image/video/news/podcast results #10396 @dreifach
- Make Kagi widgets works on all languages. #10492 @WB0iTF
- Disable Kagi Knowledge #11210 @Truism
- 100 searches trial gate query flows out of box #11780 @Numerlor
- 100 searches trial gate shows urlencoded query if session token in url #11774 @Numerlor
- Quick Answer tables are cut off on iOS and can't be scrolled sideways #11802 @BigLinus67
- 'bang emoji' does not show emoji widget (π₯) #11407 @MustafaD
- Alberta time incorrect #11801 @mch
- Superfluous [space] in web search result links #11799 @dreifach
Note: we added a small banner to warn you if your browser logs you out by mistake. This ensures you know when you've landed on our new explore flow (Kagi's discovery version), which offers a degraded experience compared to your paid plan.

Kagi Assistant
Apps
Shared threads now jump straight into the native app, and weβve completely redone voice input so speaking a prompt is just as fluid as typing one.
Finally, a lot of you mentioned it was too hard to tell when a temporary thread was actually temporary, so we reworked the icons and cues to make going off the record unmistakable. Please tell us if it hits the mark.
Other improvements and bug fixes
- You can now paste images or files directly into your prompt #11211 @jafish
- Better UI for Thread Temporary/Permentant State #11742 @MustafaD
- Submit button on Assistant iOS app sometimes doesnβt work #11645 @tchen
- Assistant IOS app extremely buggy #11663 @inno
- Text stays in input box after sending #11615 @ickybus
- Android assistant app unrecoverable error. #11604 @RMLight
- Kagi Assistant Background Bug #11594 @Xeanos
- Kagi Assistant reloads are a bit maddening #11574 @jducoeur
- 404 on saved thread #11562 @Jeanchallet
- [Android] Enter submits the prompt instead of inserting a new line #11540 @Hanbyeol
- Selecting Lenses does not seem to work for assistant. #10885 @ronbrod
- Kagi Assistant does not send files to models properly #11702 @k19b1
Kagi News

Kagi News has been featured on Google Play! The editorial spotlight highlights our approach to keeping you informed without the overload, with credible global reporting, clearly cited sources, and multiple perspectives on every story.
- One event, several angles: stories covering the same event in different categories no longer repeat each other
- Settings redesigned, with clearer language options
- Mark each duplicate story in other subscribed categories as already read after I read it in one category #8604 @thunb
- Image captions showing HTML tags kite-public #611
Kagi Translate
Web
- Proofread shows corrections as they arrive
- Reloading the page or going Back keeps your finished translation
- More accurate Sorani, Kurmanji and Latin translations
- Better PDF tables and Hebrew text, and smaller translated Office files
- Long pasted text collapses on phones
- If your Kagi plan shares its AI allowance with Assistant, Translate shows how much of it is left
Extension
- Your AI allowance on the Statistics page
- Best quality for the translation popup and integrations
Other improvements and bug fixes
- The Kurdish (Badini) translation became Kurdish (Sorani) #11612 @Haci
- Cambodian translation shown in Thai script in Best mode #10040 @nick
- Translate returns the original text unchanged for long or context-heavy translation #11564 @aa
- Standard translation is unusable for Hungarian #9373 @buherator
- Kagi translator stops before end of input text. #10099 @MartinNo
- Japanese characters rendering with Chinese font #11730 @mb
- Issues with Japanese transcription in Kagi translate #10746 @kagifeedback-1xxkg
- Kagi Proofread won't follow instructions about correcting accent marks #10043 @jadams9
- Proofreading thinks that double blank lines between paragraphs are wrong #7922 @kirkmc
- Proof reader stuck at 89% #10755 @Jeanchallet
- The translated audio refuses to voice vulgarities #9591 @PetrIako
- Weird TTS behaviour #9069 @Temanor
- Spoken translation missing first consonant #9478 @bert
- Prompt being read prior to translated word #10974 @kagifeedback-1xxkg
- "False friends" trip translation to interpret input English #11717 @quunnb
- They constantly changing font size while translating is horrendous #11431 @nazgul
- Undo operation via Ctrl+Z does not work for removed characters in Translate, only for added. #11745 @shezgara
- Reset-All Button for Translate #10999 @erakagi
- Add Web Share Target support to the Kagi Translate PWA #9498 @yeddyfit
- Notification bar is unreadable on Firefox Android PWA #9304 @lluni
- Automatic proofreading during typing is extremely slow in the Chrome extension #11680 @HRA42
- Kagi Translate Extension Integration for Infomaniak Mail #9505 @westerntragopan
- Handle SPA sites properly in Translate Browser addon #10626 @ripdog
- Kagi Translate: Most used languages should be based on personal usage #9548 @orschiro
- Kagi Translate should not offer alternative translations by default on Integrations #11779 @JosephT
- Unexpected Kagi Translate Button on Google Sheets #11588 @shervin
- Kagi Translate extension only translates the tab title on Hacker News #11587 @uc
- Kagi Translate extension wrongly detects certain monitor as 'mobile' #10693 @Roon
- Kagi Translate extension breaks Kagi News #8824 @Gredharm
- Kagi Translate & Proofread: Applying suggestions doesn't work with Firefox Desktop Add-on #8695 @orschiro
- Kagi proofread not applying changes #9514 @ariod
- Kagi Translate for Right to Left languages, punctuation and alignment are reversed #10194 @fileyfood500
- Kagi Translate Extension should not fail silently #10227 @Syx
- Kagi Translate extension no longer injecting a translate button into Fastmail #11672 @Pictor
- Translate popup has white text on white background on some sites #9830 @Andriamanitra
- [Browser extension] Kagi icon should come first in Korean #11625 @Hanbyeol
- Translate summarizes instead of translates #11320 @diskrete
- Kagi Translate Android "Define with Kagi" feature require login each time #11390 @sandwitch
Small Web
Apps
- Added missing topics - Design & UX, Work & Business, Sports
- Your selected topic will now be persisted across app opens
- Hide the topics you're not interested in, and the app remembers your choice!
- Haptic feedback and accessibility improvements across the board
- Bug fixes and UI refinements to polish the app's design

-
π OmniNull/OmniWM Canary 20261104-0414 (dd1e2c83) release
Automated canary build of
main. It is signed and notarized like a release but skips the owner review, so treat it as unstable.See the canary guide to install, update, or return to stable. For everyday use, download the latest stable release.
- Commit:
dd1e2c83757d - Base tag:
canary-20261103-0414-41576561015-1
Changes since canary-20261103-0414-41576561015-1
dd1e2c8Move Niri edge pictures without resizing and reuse their panels6a21ceeKeep resting Niri pictures live and let borders and tab rails follow themdd0a9e4Slide Niri columns past the bottom edge as pictures9e7bb89Move Niri span animation out of the container file978e6fbSlide focused Niri columns in as pictures and prewarm theme7ad119Show Niri columns past the top edge as picturesd52f38bAnimate vertical Niri column heights like widthsc6ab6c2Keep the focused Niri column visible at the top edge and align parks02b1978Preserve oversized Niri columns and repair clamped parks9141ff1Merge pull request #1099 from msanft/fix/msanft/window-overflow6329bd2Derive tab-rail test geometry from declared fixturesdf97624Merge pull request #1102 from hezhizhen/codex/fix-tabrail-wheel-scroll7c2a9afPreserve workspace-move focus across queued layout refreshes2f79a03Look up process icons through an injectable dependencya0bea37Discover and open locally authored OmniShell apps971567eKeep hosted child windows attached through family management3526695Synchronize the bar lifetime fixture with rendered content036861aAdd attached confirmation sheets to hosted apps62ee428Complete hosted app presentation and quit teardown7aaf298Preserve hosted app windows across management changesf7e2f43test(tab-rail): isolate synthetic wheel modifiersbdcca76Keep command titles, dispatch and settings within lint limits3cf65bdFocus an app's latest window and resolve app hotkeys oncecbc3778Merge pull request #1100 from t1dotdev/feat/open-app-hotkeysb143650Support independent OmniShell app windows0bcac9fReconcile app hotkey rows before opening them from Launcher857e192Add hotkeys that open or focus Launcher applicationsb0ff203Separate shell render correctness from CPU speed checks077edbcWait for observation refreshes before checking shell descriptorse4442f6Derive wheel sensitivity expectations from declared inputse87ed46Merge pull request #1089 from msanft/feat/msanft/mouse-sensitivitybe7443dSkip unused switcher recency work and share selection widthb8d2886Merge pull request #963 from imprisonedmind/feature/window-switcher-orderingb3bf492Derive retained resize correction test fixtures3601b5aMerge pull request #1097 from hezhizhen/codex/fix-retained-resize-pending-writes5d8d085Merge pull request #1098 from hezhizhen/codex/test-app-open-ipc-wire-2026110309f0ac2Keep status-menu choices without duplicating the app menub08ce57fix: defer retained resize correction until frame writes settlea56217cMerge pull request #1076 from Fletcher-Alderton/feat/status-menu-app-menu6e9ed9cPreserve palm latches across stale registration callbackseb42c00Merge pull request #1074 from fakhrishirinov-ai/fix/trackpad-palm-rejectiond5820aftest(ipc): cover app-open wire encoding and round trips752f127Prevent portrait windows from spilling onto neighboring displayse69090bCover mouse wheel sensitivity through the production handlerf25b9feDerive native resize correction expectations from fixture inputs97de013feat(switcher): add configurable window ordering86151baMerge pull request #1096 from hezhizhen/codex/fix-native-resize-correction-tracking52e36ddMerge pull request #1093 from hezhizhen/codex/test-vitreus-overview-overflow5270f2dMerge pull request #1095 from hezhizhen/codex/fix-generated-ipc-wire-202611037cacebffix: retain fallback resize correction after target changesc195359fix(ipc): sync wire generator with hosted app commands9d27d1dPreserve rejected native drag correction across owned clicks7cca588Merge the latest pull request #1094 revision from hezhizhen/codex/fix-native-resize-boundaries6b27fe1Merge the hosted OmniShell window rendering work0443edaSynchronize observation tests with native lifecycle completion178b77bValidate native resize without AX reads on mouse-down0b3ff1cfix: validate native resize intent through release handoffs73c3fd6Merge pull request #1094 from hezhizhen/codex/fix-native-resize-boundarieseb2ab06fix: validate native resize intent through release handoffsc6a2807Wrap the CLI usage-error cases to the line width1e001e5Merge pull request #1090 from joshbtay/feat/omniwmctl-versiondfb0b85Render hosted OmniShell app windowsf8f4d1fSerialize directory stream retirement before replacing rootsaea5ce8test(vitreus): require Overview in workspace overflow layoutsdca76cbfeat(cli): add --version and -V as aliases of version32821bcAdd configurable mouse wheel sensitivityea5ddd9Merge branch 'main' into fix/trackpad-palm-rejectionbbeeff6Merge branch 'main' into fix/trackpad-palm-rejectionb3df9b8feat(menu): honor status menu visibility settings in the panel1311c1bfeat(menu): mirror the focused app's menu bar in the status menu9dbe4e4feat(config): add status menu visibility settings6edf2f0Keep palm rejection for path ids outside the tracked range4918c10fix(gestures): ignore palms when counting trackpad fingers
- Commit:
-
π r/Harrogate Loan of an EV cable to home charge for 12 days? rss
This is a long shot but does anyone have a granny/slow charge/ uk household plug charger I could please borrow for 12 days?
I collected a rental car yesterday from Manchester airport and tired and jet lagged I didnβt realise they hadnβt provided that cable.
Iβm staying with my parents here in Harrogate until 14th November and hoped to just trickle charge the few kw I use each night β¦. Driving to a public charger is going to be inconvenient and costly in comparison.
Hoping someone relies on faster charging for their needs and has an un-used slow cable π
Update - Sorted: Thank you amazing people π
submitted by /u/wise_mind_on_holiday
[link] [comments] -
π anthropics/claude-code v2.1.318 release
What's changed
- Added a record of your answer when Claude Code asks to turn on the mods it writes in a session
- Added
assume_roleonmantleupstreams of the Claude apps gateway, for a role in another AWS account and for per-developer AWS cost attribution - Added an
effortoption to a mod's$.model.fork, so a quick side job can run atlowwhatever effort the session uses; the result reports the effort sent - Added the date a stored claude.ai sign-in ends to
claude auth status(loginExpiresAt) and toclaude -pJSON results (credential_expires_at) - Added a one-line stderr warning to
claude -ptext output, starting 10 days before a stored claude.ai sign-in ends - Fixed
--continuesometimes losing the earlier conversation after a malformed tool call's retries ran out (regression in 2.1.314) - Fixed macOS sessions with many running Bash commands stalling while memory grew
- Fixed permission prompts being answered by keys typed just after sending a message, or before a slow prompt appeared
- Fixed
/logout,claude auth logoutandclaude mcp removereporting success, and changes to trust, consent or MCP settings being dropped with no word, when the config file could not be updated on a shared network home directory - Fixed jobs exiting with
Not logged inwhen another terminal or host signs in again to the same account and organization on the same home - Fixed
claude mcp addandremovewriting the config without its lock: they now wait for it or exit 1, though another job's save can still replace a saved server - Fixed
claude plugincommands exiting before a slow token refresh was saved, which could sign you out on the next run - Fixed
claude plugin validatepassing a custom-named marketplace file thatclaude plugin marketplace addrejects - Fixed stdio MCP servers that exit on the version probe being re-probed on every start; a server that dies in under 3s for its own reason is also pinned to the legacy handshake for 7 days
- Fixed sessions being refused at startup by an
allowedProviderslist that another login on the same machine had stored - Fixed idle compaction replacing a conversation with a reply that was not a summary
- Fixed the "Now using usage credits" notice reappearing about every 30 seconds while a background subagent is running
- Fixed custom slash commands that fail, or that only Claude can invoke, printing nothing in
claude -pand SDK sessions - Fixed
claude -pand Agent SDK sessions reporting success when an API error cut off a reply while a mod hookedturn.step - Fixed a message sent right after a model change still running after Stop in headless sessions: Stop now cancels or stops it as it would a queued message
- Fixed a deleted session transcript being re-created with its last prompt when an idle non-interactive session exited
- Fixed
claude remote-controlhosts, the background daemon and self-hosted runners failing to start new sessions (spawn ENOENT) after an update or version cleanup removed the binary of a still-running process - Fixed a running Claude Code process owned by another user (for example one left by
sudo claude) being treated as dead by version cleanup, which could delete its binary - Fixed
/remote-controlshowing a session as available after a failed connection - Fixed
/design revokereporting success when the request failed with a 404 - Fixed a shell command approved after a self-hosted runner or cloud session restart running in the session's start folder, not the folder it was asked in; if that folder can't be entered, it is not run
- Fixed Claude not being told when an approved connector tool was unavailable after a cloud session restart
- Fixed cloud sessions being stopped in the middle of a turn when the service refuses uploads for several minutes
- Fixed variables a
Setuphook writes toCLAUDE_ENV_FILEnot reaching the Bash tool in some cloud sessions - Fixed the iPhone app showing a cloud session's turn as finished while it kept running, after a response was cut off at a tool call or a refused image or document was removed
- Fixed a restarted session re-sending a message that failed with an API error, ahead of the newer message waiting behind it
- Fixed a restarted session dropping its interrupted turn when the restart came right after Claude read a large image or retried a tool call
- Fixed every connection failing when the
NODE_EXTRA_CA_CERTSfile is empty, not PEM, or starts with a damaged certificate: readable certificates are now used, with a warning on stderr - Fixed workflows re-running finished agents when resumed after a usage limit
- Fixed
/mcpin cloud sessions counting tools the model can't use; a server's row now shows how many of its tools are available - Fixed a duplicate notification when Claude left the status field out of a PushNotification call
- Fixed the error for a too-large image in a request with more than 20 images always saying the limit was 2000px; it now shows the API's limit
- Fixed the runtime in background shell details not updating while the dialog is open
- Fixed a mod's
turn.stephook making a stopped reply finish as a success in headless runs - Fixed retention cleanup leaving a home that only runs
claude -pwith no~/.claude.jsonbackup: it now takes a fresh backup before deleting the last good one - Fixed the stored login being replaced by an empty file when a network home directory has no room left for data but still takes new files
- Fixed tokens from
setup-tokenbeing refused at start on machines withforceLoginOrgUUID, when the token belongs to a permitted organization - Fixed non-interactive launches replacing a
~/.claude.jsonthat isn't valid JSON with defaults; the start now fails, says how to restore the file, and leaves it as is (#87551) - Fixed an empty
~/.claude.jsonwith no backup being reported as corrupted; Claude Code now starts as it does when the file is missing - Fixed the restore command printed for a damaged or missing
~/.claude.jsonnaming an empty or cut-off backup, or failing on a read-only file - Fixed the sign-in failure when a stored claude.ai login reaches its time limit: it now says so, and in
claude -pnamesclaude auth loginandclaude setup-token - Improved how
~/.claude.json, settings files and the stored login survive saves on shared network home directories: they are less often deleted, briefly emptied or replaced by a near-empty or older copy - Improved sessions on network file systems to look again when the configuration file is wrongly reported as missing, so fewer start without your MCP servers and trusted folders
- Improved MCP tool errors: a call made before the tool is loaded now returns its input schema
- Improved the reliability of git commits and pull request creation when the Bash tool runs macOS's built-in
/bin/bash - Improved "Ask your admin for more usage" in the usage limit menu to send the request in one step
- Improved how fast remote sessions reconnect after a pause or sleep
- Improved You should know toasts to say "try again" instead of "press 2", which only works in the terminal
- Improved auto-update reliability: a brief network failure while verifying a release is now retried right away instead of waiting for the next check
- Improved unattended runs (
claude -p, SDK apps) to stop rewriting~/.claude.jsonon every run when nothing in it changed - Changed Claude Code to no longer install or update the IDE extension when started in an IDE terminal; use
/idefrom an outside terminal or your editor's extensions view - Changed subagents to stop instead of switching models when "Switch models when a message is flagged" is set to "Ask each time"
- Changed background subagents to move a shell command to the background after 3 minutes on all providers, so the prompt cache doesn't expire while it runs
- Changed subagent progress summaries on Bedrock, Vertex, Foundry, or with telemetry off: on a cold prompt cache, one can now wait up to 5 minutes for the subagent's pending response
- Changed what a mod attaches at
prompt.submitto stay in the user's turn rather than go out as a system message - Changed
deniedMcpServersURL entries to also block Anthropic-provided servers whose upstream URL matches, and connectors in cloud sessions and on self-hosted runners, where the session is given the connector's own URL; otherwise deny a connector by name - Changed the
/permissionsrule details, built-in rules and delete confirmation views to use the standard dialog; pressing Ctrl+C twice there now goes back or cancels instead of quitting - Changed
/claude-api managed-agents-onboardto give a new agent's built-in tools, and a quickstart template's MCP tools, theautopermission policy ("Judge risky actions") by default, matching the Claude Console; say "run without asking" to opt out - Removed the 2.1.288 fix that kept the model's earlier thinking when resuming a conversation started on 2.1.286 or earlier; that thinking can now be dropped
- Gateway: Added a log warning when the Google access token from a federation (
external_account) credentials file is about to expire - Gateway: Improved the log hints about
listen.trusted_proxies: they now say to list only a proxy that adds the connecting address toX-Forwarded-Foritself - Gateway: Improved the warning when AWS CountTokens fails on Amazon Bedrock: it says Claude Code, not the gateway, counts after the 501, and points at IAM only when AWS denies access
- Self-hosted runner: Added
CLAUDE_RUNNER_SPAWN_REASONto the orchestrator's spawn-runner hook environment: why Anthropic sent the request (e.g.runner_lost,resumed); unset when none was sent - Self-hosted runner: Added a startup warning when
--release-idle-session-minis the last argument with no value (still ignored) or has a value of only spaces (still read as0) - Self-hosted runner: Changed the orchestrator's log lines:
ok session=β¦now prints at every log level on stdout (was debug only, stderr) withreason=β¦afterjti=β¦, andnack session=β¦ends its fields withreason=β¦afterretryable=β¦; update scripts that matchretryable=true:orretryable=false: - Remote Control: Fixed a misleading "spawn error: ENOENT" when a session's working folder is missing; the error now names the folder
- Remote Control: Improved the title a fork of a terminal fork is created with when the app doesn't set one: "Name (fork 2)"
- [VSCode] Fixed a window whose sign-in the organization's settings refuse starting a new Claude Code process in the background every minute
- [VSCode] Fixed a long word in the chat panel's error banner pushing its close button out of view
- [VSCode] Improved the sign-in screen to show what Claude Code printed when its sign-in status check fails
- [Cloud sessions] Added a No repository option: a cloud session on an Anthropic-hosted environment can now start without picking a repository
- [Cloud sessions] Added the usual Chrome names to cloud sessions, so tools other than Playwright can find the built-in Chromium through google-chrome and CHROME_PATH
- [Cloud sessions] Added a New session button to the card shown when a cloud session's environment was deleted, where the message box is hidden
- [Cloud sessions] Fixed reading GitHub Actions logs in cloud sessions:
gh run view --logandgh apilog requests now get the log in most environments, not an unreachable redirect - [Cloud sessions] Improved most Create PR failure messages in cloud and Remote Control sessions: they now give the reason or a link to GitHub instead of saying Try again
- [Cloud sessions] Changed connector search results to tell Claude that the search covers only part of the connector directory
- [Remote Control] Fixed side-by-side checkouts of one repository looking identical in the environment menu's Remote Control rows; each now shows its own folder name
- [Claude Tag] Fixed keyboard focus and screen reader announcements in Claude Tag admin setup; pressing Escape in the connect form no longer also closes the Add dialog
- [Code Review] Improved the Code Review analytics page to retry once after a server or network failure, then show a Try again banner instead of empty cards
-
- November 03, 2026
-
π IDA Plugin Updates IDA Plugin Updates on 2026-11-03 rss
IDA Plugin Updates on 2026-11-03
New Releases:
Activity:
- binsync
- 25596397: fix(core): write state files atomically (#537)
- capa
- ad6077df: Merge pull request #3221 from mandiant/fix-ida-9.5-tests
- 02575993: changelog: document IDA 9.5 fixture and uv cache updates
- 911447e9: ci: key setup-uv cache on pyproject.toml in idalib-tests
- c3e95c4e: tests: use user leaf function 0x401517 in mimikatz calls-from fixtures
- 9d6241e9: Sync capa rules submodule
- abde628f: Sync capa-testfiles submodule
- d28e9a07: Sync capa rules submodule
- 59ada2b2: Merge pull request #3212 from mandiant/dependabot/pip/setuptools-84.1.0
- eb5e05d3: Merge pull request #3217 from mandiant/dependabot/pip/pyasn1-0.6.5
- 7e886004: Sync capa-testfiles submodule
- 137d861a: Sync capa rules submodule
- 893d3f14: build(deps): bump pyasn1 from 0.6.4 to 0.6.5
- 52f8f336: Merge pull request #3145 from corkamig/feature/string-literal-prefilter
- hrtng
- ida_rpc
- quokka
- rhabdomancer
- dc0570d4: fix: match native arm64ec functions, whose names ida 9.5 keeps with tβ¦
- binsync
-
π Evan Schwartz Scour - October Update rss
Hi friends,
In October, Scour scoured 1.5 million articles from 34,703 feeds. 164 new users signed up since the last product update email, so welcome to you all!
Here's what's changed in the product:
π§ Smarter Topic Matching
I rebuilt the way Scour determines which content is relevant from the ground up so you'll see more relevant posts and fewer off-topic ones in your feed.
During the rebuild, I also replaced the embedding model Scour uses, meaning I am no longer using the sponsored model from MixedBread. Thank you so much to MixedBread for sponsoring 2 years of Scour's embeddings π. I'll continue to be a big fan of their work and eager reader of their blog, which you can subscribe to via Scour here. Going forward, Scour will be using the Voyage 4 family of models, which I'm pleased to say I actually heard about initially on Scour.
π£οΈ Smoother Screen Reader Experience
For people who use screen readers to navigate Scour, the website experience should be quite a bit better now. Headings are easier to navigate and keyboard shortcuts are easier to find and can be turned off so they don't interfere with screen readers. Thanks to Elliott P for letting me know that certain parts of Scour were hard to find and use!
ποΈ Filter Feed to New Sources
For those of you who subscribe to specific feeds, Scour previously had the options to see content either from "All sources" or "Feeds you follow". Now, you can also see only content from "Beyond your feeds" if you want to use Scour to discover exclusively new content you're not seeing through your feed subscriptions.
π Some of My Favorite Posts
Here are some of my favorite articles I found on Scour in October:
- I really appreciated this provocative take from Sean Goedecke that Software Engineers don't get to be Luddites about AI. As he wrote, "Software engineering has always automated industries".
- Alex Kesling wrote about how engineers are moving up The Stack of Caring, "the layer cake of abstraction and technology between a person and some thing they want to do in the world".
- Zvi Mowshowitz wrote a good (and long) summary of many of the hacks and vulnerability disclosures that led to October being referred to as Black October, The Hackening. One former OpenAI employee quoted in the article said "Feels like March 1, 2020 for Cyber".
- Ben Congdon wrote about Agentic Monitoring, which has been on my mind since I recently moved away from Fly.io's built-in Grafana and an open source product analytics stack to a home-rolled system that does both observability and analytics. Similar to Ben, I found this line from an Anthropic post quite interesting: "We call these Claude 'superfans.'...They...act like an experienced engineer who has nothing better to do than to refresh charts and look for anything strange."
Happy Scouring!
- Evan
-
π Simon Willison Qwen 3.8 27B on my laptop can interpret model weights, too rss
Yesterday's hot paper was Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights by Rikiya Takehi, Jayden Teoh, Alex Zhang, and Omar Khattab. The paper (OK, the authors classify is as a "blog post", but it's paper-shaped) found that frontier models, in particular GPT-6 Astra, can both interpret and modify the raw weights of a machine learning model - literally a text description of the model containing a bunch of floating point numbers. I've been playing with one of the examples from the paper and I'm delighted to share that Qwen 3.8 27B running on my laptop can do this as well!
Weight-Space Programming
Here's the highlight from their abstract, describing impressive capabilities for GPT-6 Astra and coining the term Weight-Space Programming for when LLMs analyze and modify model weights:
Just by looking at the raw weights, GPT-6 Astra can tell what a network was trained to do. And without any environment feedback, it has no trouble writing, from scratch, small game-playing networks that outplay networks trained with PPO for 100 million steps.
Likewise, asked to make Qwen3.5-0.8B better at math without gradients, Astra identifies an issue in its weights causing reasoning loops that Qwenβs own model card warns about, and fixes this by natively editing 0.016% of the weights. With the same sampling settings, this weight correction raises MATH-500 from 7.9% to 48.1% and generalizes out of the box to instruction following, raising IFEval by 3x.
All of this is possible without allowing Astra to write training loops. It uses its reasoning to figure out what each part of a neural network computes, or should compute, and changes the weights accordingly. We call this Weight-Space Programming.
The paper combines two topics that I think deserve to be treated separately. The first is what models can do with raw weights without running tools or executing code. The second explores how well models, once armed with code, can run operations to update and improve other models.
spaCy author Matthew Honnibal called the paper misleading for conflating the two, and Sean Goedecke deconstructed the Qwen3.5-0.8B update example as taking the same steps that a human ML researcher would use.
I'm going to focus on the no-tools question, which I think is the more interesting of the two.
The paper presents the first question as Can LLMs understand model behaviors from weights? They trained four neural networks to play simplified 10x10 grid versions of four classic computer games - Breakout, Pong, Pac-Man, and Freeway (I had to look that one up, it's an Atari 2600 game from 1981). Then they fed those weights (as floating point numbers) to an LLM along with the following question:
The weights below belong to one policy network that was trained with reinforcement learning to play a game on this grid. Which game was it trained on? Work from the weights. You have no tools: no code execution, no calculator, nothing to run. This is a single response.The GitHub repository that accompanies the paper is RikiyaT/lm_understand-logs. The exp1_which_game folder contains the prompts they used, with weights for the four games:
I checked and, aside from the weights, each prompt is identical to the others.
Trying it out with Qwen 3.8 27B and other models
The prompts on GitHub are self-contained. My LLM tool has a
-f/--fragmentoption which can be passed the URL to a text file to use as a prompt, which means I can run any of the above like this:llm -f https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/breakout/prompt.txt \ -m openrouter/moonshotai/kimi-k3.1-pro
This example requires the llm-openrouter plugin installed, and runs the Breakout prompt against Kimi K3.1 Pro via OpenRouter. Here's what I got back from Kimi K3.1 Pro, which successfully guessed Breakout after 9m 41s and 19,493 reasoning tokens.
But how about Qwen 3.8 27B? That's still my favorite model to run on my own laptop - it's just 17GB (I use this version) and somehow feels close to the leading proprietary models of 2025.
I fired up LM Studio, ensured Qwen 3.8 27B was loaded with a long context window (the default 8192 context failed with errors), installed the llm-lmstudio plugin and ran this command:
LMSTUDIO_TIMEOUT=900 \ llm -f https://raw.githubusercontent.com/RikiyaT/lm_understand-logs/refs/heads/main/exp1_which_game/runs/pacman/prompt.txt \ -m lmstudio/qwen/qwen3.8-27b
(I had to bump the timeout up using an environment variable, see this issue.)
After 46m 12s and 43,506 reasoning tokens, Qwen on my laptop returned a response that ended like this (here's the reasoning trace):
Game: A simplified Pac-Man-style gridworld: an agent moves through a fixed 8x8 maze with central and corner wall blocks, moving objects/ghosts, and reward targets/pellets.
Description: The agent navigates a fixed maze-like 8x8 board, using current agent/moving-object/previous-frame cues to move through corridors, collect reward-target cells, and avoid moving objects or hazards.
Confidence: 72%
This is impressive. I tried it on two of the other games as well. It identified Pong (reasoning) in 1h 4m 54s:
Pong β specifically a Pong-like paddle/ball game where the agent controls a vertical paddle on the right side and must move up/down to intercept or return a moving ball/reward object.
Description:
The agent moves a right-side paddle vertically to hit or catch a moving ball-like reward target moving across the 8Γ8 field, while a left-side moving object/opponent and wall borders define the play; reward is obtained by successfully intercepting/returning/scoring the ball, and missing or failing to hit it is penalized.
Confidence:
75%
And Breakout (reasoning) in 52m 25s:
Game: Breakout, or an Arkanoid-like paddle/ball/brick game.
Description: The agent is a paddle on the bottom row and moves left/right to keep a ball in play; the ball moves around the upper grid, and bricks/reward targets in the top rows give reward when hit, while missing the ball/hitting the bottom wall ends the episode or gives penalty.
Confidence: 88%
Qwen failed at the Freeway prompt, which didn't surprise me considering that game is more obscure than the other three. Here's that transcript - Qwen thought it was "A simplified Pac-Man-like grid game: agent moves 4-directionally".
The reasoning traces are fun to skim, and almost incomprehensible. Here's a sample:
What about agent channel0? We see some large channel0 rows near row8 col7/8 and maybe bottom? Let's list channel0 large: line436 input435 (row8 col7 ch0) -2.107,1.169,0.513...; line441 input440 (row8 col8 ch0) -0.376,0.010,1.564,3.855...; line445 input444 (row8 col8 ch4) 0.142,0.491...; line382? input381 ch0? Wait line382 input381: 381//5=76 (row7 col6), ch1? 381%5=1? 76 * 5=380, ch1. So not. Channel0 large maybe at row8 col7/8 only. Also top row? line44 input43 ch3, line49 ch3. Channel0 large maybe not many. Agent position could be near bottom-right? If the agent is typically at bottom-right?
That said though, I expect a sufficiently experienced human being armed with a notepad and a pencil could get there with enough effort.
It's a cool paper, but some of the wider commentary I've seen around it does not feel justified. I'm not ready to declare that the age of source code is over and our future involves incomprehensible machines editing their own model weights in incomprehensible ways.
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.
-
π Cryptography & Security Newsletter eMudhra: Free Certificates for Everyone rss
With the groundwork for the post-quantum migration of key establishment behind us, browser vendors are increasing their efforts on the remaining parts: post-quantum authentication. (If you havenβt been following the events surrounding post-quantum migration, our newsletter from two months ago has a quick recap. Read it before continuing here.)
-
π HexRaysSA/plugin-repository commits sync repo: +1 release, -1 release rss
sync repo: +1 release, -1 release ## New releases - [ida-rpc](https://github.com/bkerler/ida_rpc): 0.2.1 ## Changes - [ida-rpc](https://github.com/bkerler/ida_rpc): - removed version(s): 0.1.0 -
π backnotprop/plannotator v0.28.48 release
Follow @plannotator on X for updates
Missed recent releases? Release | Highlights
---|---
v0.28.47 | Board lanes, Settings β Rows, a new thread header, a "Make it yours" tour step, Request guided review, Jira links on Board cards
v0.28.46 | Snooze a thread, Settings β Accounts, long pastes become file tiles, HTML pages on a phone, hide the repository owner
v0.28.45 | Plannotator Modern theme, a thread panel view, session names in the To picker, thread links open in place, comment on diagram parts
v0.28.44 | The iPhone keyboard no longer moves the Inbox, pictures stay clear of the option card, What's new over your tailnet
v0.28.43 | Voice dictation, combine and rename projects, Mark unread, full-screen threads, Q for open questions, search by type
v0.28.42 | Choose how your Inbox list looks, contents for long documents, link the Inboxes on two computers, clearer search, documents outside the project open from your own machine
v0.28.40 | Update works with update checks off, the thread bar shows the thread's name, agents before the project in list rows
v0.28.39 | Reply from full screen, thread names lead the Inbox list, one project per Claude Code session, a redesigned code review sidebar, Call flow as cards
v0.28.38 | Attach files to a reply in the Inbox, swipe through a question's picture choices, easier-to-read list rows, code on hover in Call Flow and Semantic Changes
v0.28.37 | DeepSeek Harness support, save plans to Notion, AsciiDoc in annotate, browse the whole repository in code review, Go to File and Go to Definition, Tidy and hand-offs in the Inbox
v0.28.36 | Qwen Code support, plans open in the Clean look, live HTML and diagrams in Inbox messages, a Feedback button,plannotator inbox status,stopandrestartWhat's New in v0.28.48
A daily anonymous ping, reply attachments that follow the draft across devices, a faster Inbox, instant theme switches, and links to any web page on Board cards. 18 PRs, all from @backnotprop.
Plannotator Inbox
Reply drafts keep every attached file
Files you attach to a reply with the paperclip, by drop or by paste now stay with the draft on every device, and whichever device presses Send sends them. Before, only long pastes survived Cancel, a thread switch or a reload. #2525
Link any web page from a Board card
A Board card accepts any web link. YouTrack links show the ticket key with the YouTrack logo, like Jira links do, and links you add show their site's favicon. #2540
One calm reply footer on a phone
On a phone, the reply box foot is one row: the paperclip, one summary line ("4 questions open Β· 3 comments"), and the mic. The line opens a sheet with the open questions, picks and comments that go with the reply. Desktop is unchanged. #2538
Shared threads name the right agent
When two agent sessions write in one thread, the reply box, the "Delivered to" line and the list row now name the agent your reply goes to. A reply is marked delivered only when that agent reads the thread, not when another session does. #2535
Snooze announcement
A one-time dialog shows how Snooze works, with Try it and Got it. It appears once, for people who have used the Inbox for a couple of days and never snoozed. #2547
Pinch and double tap on diagrams, on a phone
A Mermaid or Graphviz diagram opened full screen now zooms with a pinch, pans with two fingers, and zooms in or back to Fit with a double tap. On iOS Safari the panel header and close button are no longer cut off. #2551
DeepSeek Harness in the Inbox
DeepSeek Harness gets a connect panel, a switch in Settings β Agents (off by default), and live wake for a reply sent to its session. The
plannotatortool and commands come later. #2529Smaller changes
- Opening a thread in a big Inbox is about 3x faster, and returning to the list is about 4x faster. #2548, #2552
- The Inbox reloads less after each change, so it stays responsive while agents write. #2549
- Settings β Storage counts its sizes only when you open it, so the rest of the Inbox no longer waits on the count. #2546
- A Board card's top bar stays on one line on a phone, and the column pill no longer wraps. #2541
- The New card window fills the screen on a phone. #2550
- An agent that writes a
:::questionline with text after it is told the question will show as plain text. #2542 - New timing tools for the Inbox, off unless the Inbox debug log is on. #2539
Plannotator
Anonymous daily ping
Behavior change: this release adds a daily anonymous ping, on by default.
Anonymous daily ping. Once a day, each Plannotator tool you use (Inbox, plan review, code review, annotate, last) sends one anonymous ping: the tool's name, the version, and how many weeks since this computer first used Plannotator. There's no ID and nothing about you or your work. It helps us see how many people use Plannotator and where to put our effort. It's on by default. To turn it off, set
NO_ANON_PING=1and restart Plannotator. It never runs in CI. Details: https://plannotator.ai/privacyInstant light/dark and palette switches
Switching between light and dark, or picking a new color palette, now lands in one frame in the Inbox, plan review, code review and annotate. Before, the page froze for about half a second and then faded. Match system follows your computer the same way. #2545
Smaller changes
@plannotator/ui0.59.0 updates the text highlighter to 0.8.2, which fixes a memory leak: a closed document's highlights and page tree are now freed. #2544
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: The plugin and the
plannotatorbinary update separately, so run the install script above as well. In a terminal:claude plugin marketplace update plannotator claude plugin update plannotator@plannotatorThen restart Claude Code. Inside Claude Code, run
/plugin marketplace update plannotator, then open/pluginβ Installed β plannotator β Update now.Pi:
pi update npm:@plannotator/pi-extensionOpenCode: Re-run the install script above. It also clears the OpenCode 2 plugin cache.
What's Changed
- fix(inbox): keep a phone's Board card top bar on one line by @backnotprop in #2541
- feat(dsh): native DeepSeek Harness setup and Inbox wake (part 1) by @backnotprop in #2529
- Inbox: name the real recipient in shared threads, and only the recipient's read settles a reply by @backnotprop in #2535
- perf(inbox): drafts read builds only threads with drafts; the window re-reads the open thread only for its records by @backnotprop in #2549
- perf(theme): light/dark and palette switches land in one frame by @backnotprop in #2545
- perf(inbox): fit the counts column without reading every row by @backnotprop in #2548
- Inbox: one calm row for the reply box foot on phones by @backnotprop in #2538
- Inbox: warn the agent when a question block never opened by @backnotprop in #2542
- Inbox: reply drafts keep every attached file, on every device by @backnotprop in #2525
- feat(board): link any web page and YouTrack issues from a card; favicons for the person's links by @backnotprop in #2540
- perf(inbox): Server-Timing and pn: marks with the debug log on, slow lines, opt-in overlay, store budgets by @backnotprop in #2539
- chore(ui): web-highlighter ^0.8.2 (memory leak fix) and @plannotator/ui 0.59.0 publish prep by @backnotprop in #2544
- perf(inbox): Settings β Storage counts its sizes on its own, only when shown by @backnotprop in #2546
- fix(inbox): New card window is full screen on a phone by @backnotprop in #2550
- Daily ping: one anonymous ping per tool per day by @backnotprop in #2543
- fix(diagram): pinch, two-finger pan and double tap on a phone by @backnotprop in #2551
- Inbox: one-time Snooze announcement (B, the real menu) by @backnotprop in #2547
- perf(inbox): list rows mount their tooltips on first hover or focus by @backnotprop in #2552
- test(inbox): fix the flaky "Make it yours" instant-switch check that turns main red by @backnotprop in #2558
Community
- Links to any web page and YouTrack tickets on Board cards were requested through in-app feedback (#10 from 0.28.46, on Linux).
- No linked issues or outside commenters on these PRs.
Full Changelog :
v0.28.47...v0.28.48 -
π OmniNull/OmniWM Canary 20261103-0414 (d786c2d0) release
Automated canary build of
main. It is signed and notarized like a release but skips the owner review, so treat it as unstable.See the canary guide to install, update, or return to stable. For everyday use, download the latest stable release.
- Commit:
d786c2d08c44 - Base tag:
canary-20261101-1233-41306790357-1
Changes since canary-20261101-1233-41306790357-1
d786c2dSeparate native title-bar release preparation from settlementb4008afDerive notification source action support in the host79e237dDerive focused workspace probe geometry from layout dataa409563Adapt native resize handoff tests to optional AX referencesb0d7343Merge pull request #1072 from hezhizhen/codex/fix-notification-clear-incomplete22d2213Merge pull request #1071 from hezhizhen/codex/fix-native-resize-handoffaebc1faMerge pull request #1079 from hezhizhen/codex/fix-focused-workspace-overflow8b09178Merge pull request #1078 from hezhizhen/codex/test-clip-outline-initial-fill3c05352Make the scene clock test catch late clock reads33106b3Merge GitHub main into the hosted window work046de94fix(vitreus): keep the focused workspace visible on overflowd4e6264test(shell): initialize clip scenes with their final fill0e273ebfix: preserve native resizes across drag handoffs178d52afix(notifications): separate membership and metadata completenessdfff63bfix(updates): stop reading Task.isCancelled on the stored install task (#1088)9971d70test(clipboard): raise rich text capture timeout for headless cic5cf973test: cut redundant and slow tests, shard ci (#1084)743cbadMerge pull request #1082 from llwt/fix/quake-tab-bar-overdraw234241cfix(terminal): keep the Quake tab bar fill inside its bounds035e67fLet managed window state hold OmniWM-hosted windows
- Commit:
-
π anthropics/claude-code v2.1.317 release
What's changed
- Added a warning to
/schedulewhen a new cloud scheduled task gets connectors you did not ask for, with how to remove them - Added a check that asks before a web or shell tool call sends your account email address to the network
- Added
onFailure: "block"for Agent SDK hook callbacks, so a callback that fails blocks the action instead of letting it run - Added a notice in Claude Desktop's Code tab when your organization's remote managed settings haven't loaded for the session, and another once they do
- Added a notice when auto mode's check has no answer for a subagent's tool call, which used to leave nothing in the main view
- Added
anthropic.plan,anthropic.seat_type,anthropic.providerandanthropic.custom_base_urlto OTel metrics, events and spans - Added a cost report to the Claude apps gateway admin API,
GET /v1/organizations/analytics/cost, for reading past spend over a date range in total, per developer, per day or per IdP group - Added a daily record of each developer's IdP groups on Claude apps gateways with
admin:set, kept foradmin.identity_retention_days, which the cost report groups by - Added
CLAUDE_CODE_DISABLE_NESTED_SESSION_ID: set it to1on a self-hosted runner to haveclaude -prun inside a session use that session's ID and transcript, as in earlier versions - Fixed project and local MCP servers disconnecting after the first turn in some Claude desktop sessions
- Fixed auto mode failing every turn when an LLM gateway set as the base URL answers 403 or 422 to its server-side safety check (a 403 with an apiKeyHelper is unchanged)
- Fixed
claude auth statusexiting before a slow token refresh was saved, which could sign you out on the next run - Fixed a project's
effortLevelsetting being ignored by sessions that an app starts ahead of time and then opens in the project, such as new sessions in the desktop app's Code tab - Fixed
claude --from-prreporting "No conversations found" in projects with many sessions when the linked session was older than the first page - Fixed the second of two simultaneous permission prompts showing no file path or command on claude.ai and the mobile apps
- Fixed Remote Control and SDK hosts offering "don't ask again" on a mod's tool calls
- Fixed session titles being lost in cloud and SDK sessions when a new message or Stop arrived while the title was generating
- Fixed self-paced
/loopwakeups sometimes not being scheduled when Claude left a field out of its request - Fixed auto mode in cloud sessions stopping for approval when the Artifact tool uploaded, wrote to a database or saved a file through the outputs folder
- Fixed skills synced from claude.ai being lost or downloaded again every ten minutes when they can't be written to disk
- Fixed
/scheduleleaving a cloud scheduled task's next run time and link out of its results after creating or updating it - Fixed screen readers speaking a running subagent's elapsed time and token count on every change in screen reader mode
- Fixed a region or network block (HTTP 403) being shown as a sign-in failure; the error now explains the block
- Fixed Claude saying a working claude.ai connector needed authorization or had failed in cloud sessions when a synced plugin included the same server
- Fixed
claude -pexiting 0 when a full disk or quota lost its transcript or ~/.claude.json writes; it now prints an error and, in text and json output, exits 1. Full NFS exports may be missed - Fixed edits to settings files made in the first second or so after launch not taking effect until a settings file changed again
- Fixed old transcripts not being cleaned up on machines where some runs skip cleanup, such as runs using
--setting-sources - Fixed deleted agent team inboxes being re-created by a teammate's late message
- Fixed a re-created agent teammate being removed from its team by an earlier shutdown approval
- Fixed stored scheduled tasks being impossible to list or delete after scheduled tasks were turned off
- Fixed Claude deleting your most recently updated
/team-onboardingguide when asked to delete one without naming which - Fixed Claude saying a
/team-onboardingguide was deleted when the server refused the delete - Fixed the Claude apps gateway hiding Amazon Bedrock's "Input is too long." error, which left sessions failing every turn with "upstream rejected the request" instead of compacting
- Fixed self-hosted runner sessions losing recent turns or the whole conversation when restarted while a plan waited for approval
- Fixed "Prompt is too long" after automatic compaction in sessions whose very large CLAUDE.md changed since it was last sent
- Fixed high memory use and slow startup in headless sessions with many plugins that register commands
- Fixed stdio MCP servers receiving an empty
AWS_BEARER_TOKEN_BEDROCKwhen their env config sets it to empty; the variable is now unset, so the server can use the machine's own AWS credentials - Fixed API requests failing with "unable to get local issuer certificate" behind some TLS-inspecting proxies after a root certificate renewal
- Fixed very long conversations losing their earlier summary when compaction had to shorten its own request
- Fixed a PDF's own metadata being able to make Read and @-mentions under-count its pages
- Fixed
DISABLE_PROMPT_CACHING_OPUSandDISABLE_PROMPT_CACHING_SONNEThaving no effect on[1m], other-region and undated spellings of the default model - Fixed
/artifactsand the Artifact tool's shared list showing no shared artifacts when you have 200 or more of your own - Fixed Claude treating partial Grep and Glob results as complete when a search hit its time limit
- Fixed OpenTelemetry exports to an
https://endpoint through a proxy never being sent when they started while another export was still in progress - Fixed a flood of connection attempts to a proxy that blocks (HTTP 403) OpenTelemetry exports to an
http://endpoint - Fixed OpenTelemetry exports hanging indefinitely behind a proxy that never answers; they now time out after 10 seconds, or
OTEL_EXPORTER_OTLP_TIMEOUTup to 30 seconds - Fixed resumed sessions telling Claude again about a file change it already knew about
- Fixed Claude sometimes not using a built-in tool in a resumed session after an earlier call failed because the tool was switched off
- Fixed
/remote-controlanswering "Unknown command" instead of saying that Remote Control is turned off by thedisableRemoteControlsetting - Fixed agent team teammates in tmux or iTerm2 panes starting in auto mode when the lead session was in manual mode
- Fixed a background session sometimes losing a just-made change of permission mode when it was upgraded or retired
- Fixed Ctrl+C stopping all running background agents when pressed to clear typed text at the prompt
- Fixed /feedback showing "Enter to confirm" while a report is being sent
- Fixed child processes of a stopped shell command sometimes being sent SIGTERM twice, which could make some programs skip their cleanup
- Fixed
claude -prun inside a cloud or self-hosted runner session sharing that session's ID: it wrote into the session's transcript, and a restart could resume the wrong conversation - Fixed
claude -prun inside a cloud or self-hosted runner session generating a title of its own and sending it to that session - Improved the error shown on Microsoft Foundry when Azure credentials can't be loaded: it now says to check or refresh them, and reports as
cloud_credential_error - Improved
/design-syncto say up front when your design system has moved to Claude, and stop before building instead of failing at upload - Improved the startup error when a required Claude apps gateway can't be reached: it points to the network instead of a sign-in, and says when the gateway's TLS certificate can't be verified
- Improved the "Resume this session with" hint shown at exit to repeat the flags you launched with (for example
--chrome --debug) ahead of--resume - Improved how self-hosted runners recover from server errors: after a 5xx other than 501 or 529, a runner's next poll now opens a new connection instead of reusing the one that failed
- Improved how self-hosted runner sessions recover from server errors: after a 5xx other than 501 or 529, a session now opens new connections instead of reusing the one that failed
- Improved how self-hosted runner sessions recover when connections stop answering: after a heartbeat gets no answer, a session now opens new connections instead of trying each idle one in turn
- Changed SendMessage so a message to a running background agent arrives earlier: its running command moves to the background, without being stopped
- Changed subagents and teammates on a different model from the main conversation to use that model's saved effort level or its default, instead of the session's effort level
- Changed exit to skip the "Background work is running" prompt for plugin monitors
- Changed the built-in
plugin-authoringskill to offer once, after a mod you built works, to help share the mod - Removed the Read tool's "file unchanged since your last Read" stub: reading an unchanged file again returns its content
- Windows: Fixed every tool call being refused on some volumes where the native path lookup fails; the working-directory check now compares the folder's identity instead
- Windows: Fixed the session scratchpad and other temporary paths growing with your project's path length in sessions not started by Claude Desktop, which made repositories cloned into them hit the 260-character path limit
- Gateway: Fixed the status line and
/usageshowing a developer's own spend limit as 100% used after their group's pooled budget ran out - Self-hosted runner: Fixed Claude not seeing the interrupted tool call when a session moves to a new runner and the turn is older than
CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS - Self-hosted runner: Fixed an MCP server that was switched off coming back on after the session moved to a new machine, when the session service had refused to save the switch
- Remote Control: Improved fork names when the app doesn't set one: a long name keeps its "(fork)" ending, and in sessions started with
claude remote-controla fork of "Name (fork)" is "Name (fork 2)" - [VSCode] Fixed forked conversations dropping messages: only one of the tool calls Claude ran in parallel was kept, and the last messages a compaction kept were lost, which could leave Claude's answer without the question it answered
- [VSCode] Fixed a message being lost when Claude did not finish starting in time: the extension now starts Claude once more before showing the error
- [VSCode] Fixed the sign-in screen opening when a request is blocked for its region or network
- [VSCode] Fixed the Account panel showing the plan name with a lower-cased second word
- [VSCode] Fixed file links in a Claude tab opening on top of the chat instead of in another editor group
- [VSCode] Fixed attachment chips, menus, banners and dialogs in the Claude panel staying small when
chat.fontSizeis raised - [VSCode] Fixed
ultrathinknot raising effort for its turn or showing its rainbow when telemetry is off - [Cloud sessions] Added a link card to cloud sessions, so you can open or decline a link an MCP server asks you to visit instead of the request going unseen
- [Cloud sessions] Changed the organization environment dialog in admin settings to the personal dialogs' short layout: each section opens from a row, and unsaved input asks before closing
- [Cloud sessions] Fixed adding a network secret for a host that already has one silently replacing it; the Add secret form now refuses and points you to the existing secret
- [Cloud sessions] Fixed new scheduled tasks ignoring your organization's default environment: the form now starts on the one an admin chose instead of the Anthropic-hosted default
- [Remote Control] Fixed the next message to an idle session going unanswered after you restart
claude remote-control, when you sent it within a minute of your previous message - [Claude Tag] Changed newly pasted artifact links in Slack to show a simpler card with an Open button that opens the artifact in Claude, instead of Slack's side panel
- Added a warning to
-
π Rust Blog Announcing rustup 1.29.3 rss
The rustup team has published a new point release of rustup, 1.29.3.
Rustup is the recommended tool to install Rust, a programming language that empowers everyone to build reliable and efficient software.
What's new in rustup 1.29.3
This new patch release has fixed some minor regressions over the previous one:
-
Fixed "Illegal instruction" error on certain x86_64 CPUs without SSE4.1. pr#5162
-
Fixed "
lock()not supported" error on Solaris. pr#5167
Further details are available in the changelog!
How to update
If you have a previous version of rustup installed, getting the new one is as easy as stopping any programs which may be using rustup (e.g. closing your IDE) and running:
$ rustup self updateRustup will also automatically update itself at the end of a normal toolchain update:
$ rustup updateFor this particular release, if you have encountered any issues during self- update, you may try to update rustup manually by following the steps below:
- Download the corresponding
rustup-initbinary for your platform. - Make double sure that no other
rustupprocesses are running. - Replace your existing
rustupbinary with the downloadedrustup-initrenamed torustup.- As a reminder, this binary is often located at
$HOME/.cargo/bin/rustup, or$CARGO_HOME/bin/rustupif you have overridden the$CARGO_HOMEenvironment variable.
- As a reminder, this binary is often located at
If you don't have it already, you can get rustup from the appropriate page on our website.
Rustup's documentation is also available in the rustup book.
Caveats
Rustup releases can come with problems not caused by rustup itself but just due to having a new release.
In particular, anti-malware scanners might block rustup or stop it from creating or copying files, especially when installing
rust-docswhich contains many small files.Issues like this should be automatically resolved in a few weeks when the anti-malware scanners are updated to be aware of the new rustup release.
Thanks
Thanks again to all the contributors who made this rustup release possible!
-
-
π Ampcode News Service Accounts rss
Amp now has Service Accounts. A service account is a workspace-owned account that's not tied to a single user.
Service accounts are created by workspace admins. They have their own API keys and third-party credentials.
Each thread created under a service account can be viewed by other members of the workspace. These threads are multiplayer too, so workspace members can send messages in them.
Since anyone in the workspace can drive a service account's threads, make sure to only assign credentials to it that you would be happy bestowing on all workspace members.
When to Use Service Accounts
Service accounts fit any work that belongs to the team rather than to one person. For example, threads with automations that workspace members want to have access to, even if the person who set them up is on vacation.
We've found two patterns where service accounts work especially well.
Codebase Review and Maintenance
Reviewing every pull request or keeping docs accurate is work that belongs to the team, not to a single user. When a service account owns that work, anyone on the team can step into its threads and steer them.
Here are some example prompts for setting that up via Puck:
-
Trigger a Workspace-Scoped Orb for New GitHub PRs
Hey Puck, let's set up a listener so that any new PR that lands triggers a new orb and reviews the changes. **The orbs should be owned by the whole team, not just me.**Amp knows how to set up github PR listeners like this. Because the user asked for the threads to be owned by the workspace and not by the user, Amp will use a service account for these threads.
-
A Recurring Review of Public Docs
Hey Puck, **start a workspace-owned thread** which scans our public documentation every 24hr and checks it's up to date. If you find an issue, @ mention the person responsible for the change.Service accounts are useful for continuous clean up and maintenance tasks like this, which are shared by a team rather than an individual.
Programmatic Work
There's work that starts from a script, like a CI job that spawns a thread via
amp -oxevery time a build fails. By using a service account's API key for thatampinvocation, the thread it starts belongs to the service account instead of whoever set up the pipeline.Here's an example:
-
A Review Bot Running in CI
run_tests if tests_failed; then AMP_API_KEY=<SERVICE_ACCOUNT_API_KEY> \ amp -ox "Tests failed. Is this a real regression or a flaky test?" fiCI and programmatic invocation of Amp is another useful use case for service-accounts, which should not be tied to any individual user.
-
Trigger a Workspace-Scoped Orb for New GitHub PRs
-



