๐Ÿก


  1. November 05, 2026
    1. ๐Ÿ”— 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-push boolean option is deprecated in favor of the
        revsets.git-sign-on-push revset. The default value is none(). If
        git.sign-on-push was previously set to true, it will be migrated to
        revsets.git-sign-on-push = "~signed() & mine()".

      New features

      • New revsets.git-sign-on-push config option containing the revset of
        commits to be signed when jj git push is run. It replaces the
        git.sign-on-push boolean option.

      Contributors

      Thanks to the people who made this release happen!

  2. November 04, 2026
    1. ๐Ÿ”— 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 fetch and push no longer update
        remote-tracking Git refs. Use jj git export to export remote bookmarks to
        Git.

      • In non-colocated workspaces, jj git import; jj undo; jj git import no longer
        re-imports external changes. Run jj git export to reflect undone changes in
        Git. jj git fetch; jj undo; jj git fetch continues 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:

        • %v and %+ are no longer supported. Use %e-%b-%Y and
          %Y-%m-%dT%H:%M:%S%.3f%:z (which always includes milliseconds) instead.

        • %c, %x, and %r produce different output. For example, %x now
          formats as 2001 M07 8 rather than 07/08/01.

        • %f now prints only as many digits as needed rather than always 9. Use
          %9f or %N for the old behavior. Similarly, %.f no longer pads to 3, 6,
          or 9 digits, so it formats as .12 rather than .120.

        • %Z now prints a time zone abbreviation. Use %:z to get an offset.

        • %:::z now includes the minutes of an offset when they are non-zero.
        • New directives and flags such as %N, %Q, %^a, and %5Y are now
          accepted. %#z no longer panics.

        • json(timestamp) now prints a UTC time zone offset as +00:00 instead 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 return List<Option<Commit>>.

      New features

      • jj git push with git.sign-on-push enabled 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 resolve gained a built-in :editor merge 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 gc now also cleans up workspace configs whose paths no longer
        exist.

      • Commit.contained_in() now accepts a Stringify instead of a StringLiteral.
        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 TreeEntry template type now has .removed_values() -> List<Option<TreeValue>>
        and .added_values() -> List<Option<TreeValue>> methods, and TreeValue now
        exposes .object_id(), .file_type(), and .executable() methods for
        inspecting each side of a (possibly conflicted) tree entry.

      • The WorkspaceRef template type now has a .current_workspace() -> Boolean
        method, which can be used to identify the current workspace. This is slightly
        different than self.target().current_working_copy() because multiple
        workspaces can point to the same commit.

      • jj next/jj prev now accept a change ID prefix when prompting for the
        target commit. The special q quit choice was removed; cancel with EOF.
        #9790

      • jj converge now accepts a change ID prefix when prompting for the change
        to converge. The special q abort choice was removed; canceling with EOF now
        exits with an error (previously q aborted successfully).

      • jj file search now detects binary files (any null byte in the first 8000
        bytes) and emits Binary file matches: <path> instead of dumping raw bytes to
        stdout. Use --binary-as-text to force text treatment, or --skip-binary to
        skip binary files entirely.

      Fixed bugs

      • jj git push no longer validates (e.g. for empty descriptions) commits that
        are already on the remote as a tag.

      • jj git fetch no longer creates additional refs based on non-standard Git
        remote.<name>.fetch configuration.

      • jj gerrit upload no longer rejects uploading empty merge commits.

      • The operations created by jj workspace add are now attributed to the
        workspace the command was run in, so jj undo there undoes them instead of
        refusing to undo an operation from another workspace.

      • jj workspace add -r with 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, and jj git push --tag.

      • Fixed tag deletion with jj git fetch --tag=NAME.

      • jj workspace remove can now remove stale workspaces.
        #10276

      • Fixed issue with config-schema.json where Taplo (TOML parsing library) would
        flag any aliases defined as a table but without an explicit
        .enabled = true as "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
        and jj commands 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 next jj
        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 run now materializes conflicts using ui.conflict-marker-style instead
        of always using the snapshot style.
        #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 .jj are now created with default file
        permissions.

      • Racy jj config set invocations 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 the jj op show
        graph, are now separated by a blank line so they don't look connected.

      • jj log no 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!

    2. ๐Ÿ”— @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.
    3. ๐Ÿ”— @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 idalib

      Read 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.

    4. ๐Ÿ”— 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
      
    5. ๐Ÿ”— Hex-Rays Blog Malware Analysis, the new Add-on rss

      Malware Analysis, the new Add-on

      We are happy to introduce the Malware Analysis Add-on for IDA Pro!

    6. ๐Ÿ”— 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 Inbox

      What'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 --title for 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 t3 to set it up. Built on @hydn-n's work in #2532. #2563

      Smaller 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 --title

      plannotator annotate, annotate-last and review take --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. #2537

      Share over your tailnet by default

      Set PLANNOTATOR_TAILSCALE=1, or "tailscale": true in config.json, and code review, annotate and last sessions open over your tailnet without --tailscale on each call. PLANNOTATOR_TAILSCALE=0 turns it off for one run. By @disintegrator. #2533

      DeepSeek Harness: commands and the plannotator tool

      DeepSeek Harness gets /plannotator-review, /plannotator-annotate and /plannotator-last. The plannotator tool is there too, off by default; set PLANNOTATOR_AGENT_TOOL to turn it on. #2556

      Smaller changes

      • In a --tailscale review 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/ui 0.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 | bash
      

      Windows:

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

      Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

      claude plugin marketplace update plannotator
      claude plugin update plannotator@plannotator
      

      Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin โ†’ Installed โ†’ plannotator โ†’ Update now.

      Pi:

      pi update npm:@plannotator/pi-extension
      

      OpenCode: 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

      Contributors

      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

    7. ๐Ÿ”— Kagi Education Shouldn't Be Held for Ransom rss

      Google told K-12 schools they could turn off AI, but only if they gave up search too. That isnโ€™t integration. Itโ€™s holding education for ransom.

    8. ๐Ÿ”— 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

      • dd1e2c8 Move Niri edge pictures without resizing and reuse their panels
      • 6a21cee Keep resting Niri pictures live and let borders and tab rails follow them
      • dd0a9e4 Slide Niri columns past the bottom edge as pictures
      • 9e7bb89 Move Niri span animation out of the container file
      • 978e6fb Slide focused Niri columns in as pictures and prewarm them
      • e7ad119 Show Niri columns past the top edge as pictures
      • d52f38b Animate vertical Niri column heights like widths
      • c6ab6c2 Keep the focused Niri column visible at the top edge and align parks
      • 02b1978 Preserve oversized Niri columns and repair clamped parks
      • 9141ff1 Merge pull request #1099 from msanft/fix/msanft/window-overflow
      • 6329bd2 Derive tab-rail test geometry from declared fixtures
      • df97624 Merge pull request #1102 from hezhizhen/codex/fix-tabrail-wheel-scroll
      • 7c2a9af Preserve workspace-move focus across queued layout refreshes
      • 2f79a03 Look up process icons through an injectable dependency
      • a0bea37 Discover and open locally authored OmniShell apps
      • 971567e Keep hosted child windows attached through family management
      • 3526695 Synchronize the bar lifetime fixture with rendered content
      • 036861a Add attached confirmation sheets to hosted apps
      • 62ee428 Complete hosted app presentation and quit teardown
      • 7aaf298 Preserve hosted app windows across management changes
      • f7e2f43 test(tab-rail): isolate synthetic wheel modifiers
      • bdcca76 Keep command titles, dispatch and settings within lint limits
      • 3cf65bd Focus an app's latest window and resolve app hotkeys once
      • cbc3778 Merge pull request #1100 from t1dotdev/feat/open-app-hotkeys
      • b143650 Support independent OmniShell app windows
      • 0bcac9f Reconcile app hotkey rows before opening them from Launcher
      • 857e192 Add hotkeys that open or focus Launcher applications
      • b0ff203 Separate shell render correctness from CPU speed checks
      • 077edbc Wait for observation refreshes before checking shell descriptors
      • e4442f6 Derive wheel sensitivity expectations from declared inputs
      • e87ed46 Merge pull request #1089 from msanft/feat/msanft/mouse-sensitivity
      • be7443d Skip unused switcher recency work and share selection width
      • b8d2886 Merge pull request #963 from imprisonedmind/feature/window-switcher-ordering
      • b3bf492 Derive retained resize correction test fixtures
      • 3601b5a Merge pull request #1097 from hezhizhen/codex/fix-retained-resize-pending-writes
      • 5d8d085 Merge pull request #1098 from hezhizhen/codex/test-app-open-ipc-wire-20261103
      • 09f0ac2 Keep status-menu choices without duplicating the app menu
      • b08ce57 fix: defer retained resize correction until frame writes settle
      • a56217c Merge pull request #1076 from Fletcher-Alderton/feat/status-menu-app-menu
      • 6e9ed9c Preserve palm latches across stale registration callbacks
      • eb42c00 Merge pull request #1074 from fakhrishirinov-ai/fix/trackpad-palm-rejection
      • d5820af test(ipc): cover app-open wire encoding and round trips
      • 752f127 Prevent portrait windows from spilling onto neighboring displays
      • e69090b Cover mouse wheel sensitivity through the production handler
      • f25b9fe Derive native resize correction expectations from fixture inputs
      • 97de013 feat(switcher): add configurable window ordering
      • 86151ba Merge pull request #1096 from hezhizhen/codex/fix-native-resize-correction-tracking
      • 52e36dd Merge pull request #1093 from hezhizhen/codex/test-vitreus-overview-overflow
      • 5270f2d Merge pull request #1095 from hezhizhen/codex/fix-generated-ipc-wire-20261103
      • 7cacebf fix: retain fallback resize correction after target changes
      • c195359 fix(ipc): sync wire generator with hosted app commands
      • 9d27d1d Preserve rejected native drag correction across owned clicks
      • 7cca588 Merge the latest pull request #1094 revision from hezhizhen/codex/fix-native-resize-boundaries
      • 6b27fe1 Merge the hosted OmniShell window rendering work
      • 0443eda Synchronize observation tests with native lifecycle completion
      • 178b77b Validate native resize without AX reads on mouse-down
      • 0b3ff1c fix: validate native resize intent through release handoffs
      • 73c3fd6 Merge pull request #1094 from hezhizhen/codex/fix-native-resize-boundaries
      • eb2ab06 fix: validate native resize intent through release handoffs
      • c6a2807 Wrap the CLI usage-error cases to the line width
      • 1e001e5 Merge pull request #1090 from joshbtay/feat/omniwmctl-version
      • dfb0b85 Render hosted OmniShell app windows
      • f8f4d1f Serialize directory stream retirement before replacing roots
      • aea5ce8 test(vitreus): require Overview in workspace overflow layouts
      • dca76cb feat(cli): add --version and -V as aliases of version
      • 32821bc Add configurable mouse wheel sensitivity
      • ea5ddd9 Merge branch 'main' into fix/trackpad-palm-rejection
      • bbeeff6 Merge branch 'main' into fix/trackpad-palm-rejection
      • b3df9b8 feat(menu): honor status menu visibility settings in the panel
      • 1311c1b feat(menu): mirror the focused app's menu bar in the status menu
      • 9dbe4e4 feat(config): add status menu visibility settings
      • 6edf2f0 Keep palm rejection for path ids outside the tracked range
      • 4918c10 fix(gestures): ignore palms when counting trackpad fingers
    9. ๐Ÿ”— 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 ๐Ÿ™

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

  3. November 03, 2026
    1. ๐Ÿ”— 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
        • 420fcba0: Merge pull request #6 from xiaozhu1337/fix/windows-daemon-startup
        • efebca6b: Add ida 9.5 support
        • 8b442630: Updates
      • quokka
        • 4c212e31: Merge pull request #136 from quarkslab/dependabot/pip/python-22601f1e71
        • cf2185de: Regenerate Binary Ninja protobuf for grpcio-tools 1.84
        • ba3b93e4: Merge pull request #144 from quarkslab/dependabot/github_actions/actiโ€ฆ
      • rhabdomancer
        • dc0570d4: fix: match native arm64ec functions, whose names ida 9.5 keeps with tโ€ฆ
    2. ๐Ÿ”— 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

    3. ๐Ÿ”— 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/--fragment option 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.

    4. ๐Ÿ”— 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.)

    5. ๐Ÿ”— 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
      
    6. ๐Ÿ”— 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, stop and restart

      What'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 plannotator tool and commands come later. #2529

      Smaller 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 :::question line 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=1 and restart Plannotator. It never runs in CI. Details: https://plannotator.ai/privacy

      #2543

      Instant 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/ui 0.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 | bash
      

      Windows:

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

      Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

      claude plugin marketplace update plannotator
      claude plugin update plannotator@plannotator
      

      Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin โ†’ Installed โ†’ plannotator โ†’ Update now.

      Pi:

      pi update npm:@plannotator/pi-extension
      

      OpenCode: 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

    7. ๐Ÿ”— iv-org/invidious Release v2.20261103.0 release

      Wrap-up

      This release brings several user-facing improvements: custom channel handle URLs with tab paths, a minute badge on the watch page, automatic video start when clicking timestamps, support for the shows tab on channels, and a new subscription export for NewPipe. It also fixes parsing of published dates and view counts for collab videos and corrects the OPML export for FreeTube. On the breaking side, the hd720 quality option has been removed and Reddit integration has been completely dropped.

      For instance owners, Invidious now checks domain configuration before starting, allows adding custom text at the bottom of pages, and improves companion proxying. The toolchain has been updated to Crystal 1.22.2, and Nix packaging has been refreshed with multiple nixpkgs bumps.

      Developers will find improved spec handling with a -v flag, removal of unused functions, better module encapsulation, and fixes for deprecation warnings across Crystal versions. CI dependencies were also updated.

      New features & important changes

      For Users

      • Support for custom channel handle URLs with tab paths, e.g. {INSTANCE}/markrober/streams (#5811)
      • Added a minute badge next to the video title on the watch page (#6112)
      • Clicking a timestamp now automatically starts the video and scrolls to it (#6111)
      • Added support for the shows tab on channels (#6033)
      • New subscription export in JSON format for NewPipe (#5826)
      • Removed the hd720 quality option (#6098)
      • Removed all Reddit integration (#6087)

      For instance owners

      • Invidious now checks domain configuration before starting (#5352)
      • Added ability to display custom text at the bottom of pages, e.g. for contacting a maintainer (#3826)
      • Improved companion proxying (#5809)
      • Updated to Crystal 1.22.2 (#6106, #6099)
      • Nix packaging bumps: nixpkgs and flake-utils updates (#6102, #6086, #6097)

      For developers

      • Specs now support a -v flag for verbose output (#6115)
      • Removed unused functions .ci_lower_bound() and .elapsed_text() (#6110)
      • Moved FreeTube OPML export to the Export module (#6107)
      • Encapsulated more functions into modules and improved spec files (#6046)
      • Fixed deprecation warnings across Crystal versions (#6100)
      • Updated CI dependency crystal-lang/install-crystal (#6096)

      Bugs fixed

      For Users

      • Fixed parsing of published date and view count for collab videos (#5812)
      • Fixed OPML export for FreeTube (#6109)

      For developers

      • Fixed deprecation warnings that appeared across different Crystal versions (#6100)
    8. ๐Ÿ”— 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

      • d786c2d Separate native title-bar release preparation from settlement
      • b4008af Derive notification source action support in the host
      • 79e237d Derive focused workspace probe geometry from layout data
      • a409563 Adapt native resize handoff tests to optional AX references
      • b0d7343 Merge pull request #1072 from hezhizhen/codex/fix-notification-clear-incomplete
      • 22d2213 Merge pull request #1071 from hezhizhen/codex/fix-native-resize-handoff
      • aebc1fa Merge pull request #1079 from hezhizhen/codex/fix-focused-workspace-overflow
      • 8b09178 Merge pull request #1078 from hezhizhen/codex/test-clip-outline-initial-fill
      • 3c05352 Make the scene clock test catch late clock reads
      • 33106b3 Merge GitHub main into the hosted window work
      • 046de94 fix(vitreus): keep the focused workspace visible on overflow
      • d4e6264 test(shell): initialize clip scenes with their final fill
      • 0e273eb fix: preserve native resizes across drag handoffs
      • 178d52a fix(notifications): separate membership and metadata completeness
      • dfff63b fix(updates): stop reading Task.isCancelled on the stored install task (#1088)
      • 9971d70 test(clipboard): raise rich text capture timeout for headless ci
      • c5cf973 test: cut redundant and slow tests, shard ci (#1084)
      • 743cbad Merge pull request #1082 from llwt/fix/quake-tab-bar-overdraw
      • 234241c fix(terminal): keep the Quake tab bar fill inside its bounds
      • 035e67f Let managed window state hold OmniWM-hosted windows
    9. ๐Ÿ”— 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 update
      

      Rustup will also automatically update itself at the end of a normal toolchain update:

      $ rustup update
      

      For this particular release, if you have encountered any issues during self- update, you may try to update rustup manually by following the steps below:

      1. Download the corresponding rustup-init binary for your platform.
      2. Make double sure that no other rustup processes are running.
      3. Replace your existing rustup binary with the downloaded rustup-init renamed to rustup.
        • As a reminder, this binary is often located at $HOME/.cargo/bin/rustup, or $CARGO_HOME/bin/rustup if you have overridden the $CARGO_HOME environment variable.

      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-docs which 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!

    10. ๐Ÿ”— 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 -ox every time a build fails. By using a service account's API key for that amp invocation, 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?"
        fi
        

        CI and programmatic invocation of Amp is another useful use case for service-accounts, which should not be tied to any individual user.

  4. November 02, 2026
    1. ๐Ÿ”— IDA Plugin Updates IDA Plugin Updates on 2026-11-02 rss

      IDA Plugin Updates on 2026-11-02

      New Releases:

      Activity:

      • augur
        • fdb76e52: docs: issue 81 is closed, so the linker_messages suppression is permaโ€ฆ
        • ce38d080: chore: prepare for release
        • 131e381b: chore: switch to haruspex v1.1.0 from crates.io
        • b5826098: docs: align license wording with haruspex 1.1.0 and pin its error mesโ€ฆ
        • f774f394: chore: update idalib to v0.11.0 to support ida 9.5
      • capa
        • c6faa7a5: Merge branch 'master' into feature/string-literal-prefilter
        • 980861b0: Address PR #3145 review feedback and add regex literal linter warning
      • haruspex
        • f86151f6: docs: issue 81 is closed, so the linker_messages suppression is permaโ€ฆ
        • 4e9d5677: docs: update Claude.md
        • 7888e2d5: chore: prepare for release
        • 681ea6df: feat: mention a missing license in the decompiler unavailable error
        • a767e75d: chore: update idalib to v0.11.0 to support ida 9.5
      • ida-domain
        • 5dbe82e4: Fix type hints #138 (#143)
        • b7a22d75: Fix import failure inside idat (#141)
        • 7124a549: Drop support for Python3.10, add support for Python3.15
        • 9e1b7229: Fix the Lumina example and let plugin_options take a list (#130)
      • idalib
        • d588e9dd: fix: package all platform SDK stubs
        • fd78d307: update: support for IDA 9.5 (#86)
      • idamcp
        • de833aa4: Take an address and an item count in get_ida_view
        • 66c12f86: Stop idapython_eval at its output limit and cap tool responses
      • Luc-Nhan
        • 3ed96571: docs: restore the think-tag text lost from the loop-guard changelog eโ€ฆ
        • 10578de0: fix(memory): retry legacy knowledge-store adoption on a transient renโ€ฆ
        • f8ad7cb4: merge: origin/master โ€” loop guard inline reasoning fix
        • 8d065a31: fix(loop): guard inline reasoning degeneration
        • e039f8b2: Merge remote-tracking branch 'LucNhan/master'
        • 3b9e0211: Adding fix to the loop guard
        • 3fd4ad3c: test(memory): keep closed stores alive so id() cannot be reused
        • 012311c8: test(history): compare resolved paths when injecting the delete failure
        • e13b2149: fix(skills): treat backslash as a separator in read_skill_reference pโ€ฆ
        • 17502f87: merge: origin/master โ€” unknown model output limit no longer caps Max โ€ฆ
        • ecbe9668: docs: mark anti-loop design as implemented; drop foreign local path; โ€ฆ
        • b7057857: fix(loop): a successful mutation lifts all repeat blocks
        • d4ff2f79: fix(session): stale-result elision keys on the full read, not one argโ€ฆ
        • 004d6c1b: merge: origin/master โ€” anti-loop guards and subagent context cap
        • 51168d3e: Changing the max output token
        • 55936e14: merge: fix/narrow-except-exception โ€” narrow except Exception on mutatโ€ฆ
        • 01e281d3: fix: keep make_store non-raising; let KeyboardInterrupt escape scriptโ€ฆ
        • c51b12a0: docs(audit): record except Exception inventory and applied fixes
        • feb924f1: test(memory): cover remaining JSONL write failure paths
        • 75e02ec1: fix(agent): surface knowledge-ingest failures at error level
      • quokka
        • e02b223f: Bump the actions group across 1 directory with 5 updates
      • rhabdomancer
        • 54a487ae: docs: issue 81 is closed, so the linker_messages suppression is permaโ€ฆ
        • 94a52e24: chore: prepare for release
        • eab811e2: chore: update idalib to v0.11.0 to support ida 9.5
    2. ๐Ÿ”— backnotprop/plannotator v0.28.47 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      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, stop and restart
      v0.28.35 | Updates check the download against checksums Plannotator fetches itself, a failed check changes nothing

      What's New in v0.28.47

      New Board lanes, Settings โ†’ Rows, a new thread header, a "Make it yours" tour step, and a notice when the page is older than the Inbox. 18 PRs.

      Plannotator Inbox

      Board lanes: Backlog, Todo, In progress, In review, Done

      The Board has five lanes, with Cancelled as a link in the header. A card moves to Done by itself when all of its own PRs have merged, checked while the Board is open. Nothing moves a card into In review automatically: it goes there when the agent hands the work over, and a card whose thread is waiting on you says so under its title. #2522, #2524

      Behavior change: existing cards show in the matching new lane, and a card you put in Backlog stays yours: an agent can't move it out until you Send or Start it.

      Customize rows

      Settings โ†’ Rows sets how list rows look. Start from Minimal, Balanced or Detailed, then change density, the first line, unread style, the subject preview and clock or relative time, with live previews. Your choice applies in every browser that opens this Inbox. #2516

      A new thread header

      The read button and a Snooze clock now sit before the thread's title. The title shows the thread's name, and its tooltip shows the full subject. On a phone, โ‹ฏ starts with the read actions and Snooze. #2523

      "Make it yours" in the tour

      A new tour step lets you pick Light, Dark or Match system, one of three color sets and a text size, and the Inbox changes as you tap. "N more in Settings" leads to the other color sets, Skip puts back what you had, and Connect agents next โ†’ keeps your picks. #2512

      Request a guided review

      The thread's โ‹ฏ menu has Request guided review. It sends the agent a reply asking for a guided review of the thread's code changes, and leaves your reply draft as it was. #2531

      "Inbox updated" notice

      When the open page is older than the Inbox, for example a phone tab restored after an update, a notice reads Inbox updated to X ยท Reload. Reload saves your reply and answers first. The page never reloads by itself. #2514

      Jira links on Board cards

      A Board card accepts a Jira issue URL as a link, from Jira Cloud or a self- hosted Jira. The card shows the issue key as a link, with no Jira sign-in and no status. #2530

      Pictures where the agent talks about them

      Agents are now told to put screenshots and picture choices in the message text, beside the words about them, instead of as tiles at the bottom. An agent that attaches a picture without showing it gets a reminder for next time. #2520

      Smaller changes

      • Typing in the reply box is much faster on slow phones, and the empty "No comments" chip is gone. #2534
      • A folder that holds checkouts of one repository joins that repository's project. Project names use the shortest parent folder that tells them apart, ~ for your home folder, and the "N new in" line stays on one line. #2526
      • Every message, card and alert from one agent session lands in the project of the folder that session started in, even after it moves into a subfolder. #2528
      • Your own messages keep their line breaks and blank lines. #2527
      • A thread you opened offers Mark unread at once, on its row and in the header. #2515
      • Opening a thread no longer puts focus on its Reply button. #2518
      • The voice mic shows its spinner on the first tap and no longer stays stuck. A mic that never opens gives up after 10 seconds. #2519

      Install / Update

      macOS / Linux:

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

      Windows:

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

      Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

      claude plugin marketplace update plannotator
      claude plugin update plannotator@plannotator
      

      Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin โ†’ Installed โ†’ plannotator โ†’ Update now.

      Pi:

      pi update npm:@plannotator/pi-extension
      

      OpenCode: Re-run the install script above. It also clears the OpenCode 2 plugin cache.

      What's Changed

      • fix(inbox): one session, one project for every client; Tidy folder-above-repo suggestion; no project of / or a dotfiles home by @backnotprop in #2528
      • Inbox Board columns v2: the lanes (Shipped lane, Cancelled link, Waiting on you) by @backnotprop in #2524
      • feat(inbox): "Make it yours", the tour's step 10 of 11 by @backnotprop in #2512
      • fix(inbox): reply box typing stays local (6x faster), no empty comments chip by @backnotprop in #2534
      • feat(inbox): read and Snooze before the subject in the thread header by @backnotprop in #2523
      • feat(inbox): Customize rows, synced for the person by @backnotprop in #2516
      • fix(inbox): one "appnotes" project for a checkouts folder, short project names, a one-line "N new" by @backnotprop in #2526
      • Inbox Board columns v2: model, migration, auto-ship, agent text by @backnotprop in #2522
      • feat(inbox): Request guided review in the thread header's โ‹ฏ by @backnotprop in #2531
      • fix(inbox): show the person's own line breaks and blank lines by @backnotprop in #2527
      • feat(board): accept Jira issue URLs as card references (link only) by @backnotprop in #2530
      • ci(e2e): 16 shards on fresh times; fix the decision-mode and PowerShell flakes by @backnotprop in #2517
      • feat(inbox): stale page notice (Inbox updated ยท Reload) by @backnotprop in #2514
      • feat(inbox): agents put pictures where they discuss them, with a send-time nudge by @backnotprop in #2520
      • fix(inbox): opening a thread no longer focuses its Reply button by @backnotprop in #2518
      • fix(inbox): the voice mic never stays stuck, and no tap does nothing by @backnotprop in #2519
      • ci(release): pack npm beside the smokes, build review and hook once by @backnotprop in #2521
      • fix(inbox): a thread the person read offers Mark unread at once, on the row and in the header by @backnotprop in #2515

      Community

      • Jira links on Board cards were requested through in-app feedback.

      Full Changelog : v0.28.46...v0.28.47

    3. ๐Ÿ”— HexRaysSA/plugin-repository commits sync repo: +3 releases rss
      sync repo: +3 releases
      
      ## New releases
      - [augur](https://github.com/0xdea/augur): 1.1.0
      - [haruspex](https://github.com/0xdea/haruspex): 1.1.0
      - [rhabdomancer](https://github.com/0xdea/rhabdomancer): 1.1.0
      
    4. ๐Ÿ”— backnotprop/plannotator v0.28.46 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      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, stop and restart
      v0.28.35 | Updates check the download against checksums Plannotator fetches itself, a failed check changes nothing
      v0.28.34 | Start a Grok Build session from the Inbox, action items in your reply, a tidier Board, Settings โ†’ Capabilities, a failed feedback send is shown

      What's New in v0.28.46

      Snooze a thread, see your Claude accounts, long pastes become file tiles, and a folder setting for the repository chip. 12 PRs.

      Plannotator Inbox

      Snooze a thread

      Right-click a row, or open the thread's โ‹ฏ menu, and pick Snooze to hide it until Later today, Tomorrow, In 3 days, Next week or a time you choose. It sits in a folded Snoozed band and comes back on time. A toast offers Undo. #2497

      Settings โ†’ Accounts

      Settings โ†’ Accounts lists the Claude accounts on this computer and how much of each you have used. It is read-only and needs cswap installed. #2454

      Long pastes become file tiles

      Pasting 32 KB of text or more into a reply, New message or the full-screen composer makes a file tile instead of filling the box. Undo and Put back return the text. A reply draft keeps its tile after a reload. #2499, #2500

      HTML pages on a phone

      An HTML page opens with most of the screen clear, and a tap on a pin or a text selection opens the comment in the bottom card. #2494

      Grouped โ‹ฏ menu

      The list's โ‹ฏ menu is grouped into Rows, Thread panel and Machines. Nothing else changed. #2507

      Smaller changes

      • New message on a phone keeps the thread name visible after you pick an agent. #2513
      • The Inbox works over plain http on a non-localhost address, where it failed to make ids. #2509
      • The delivery tick stays visible beside the hover action on read rows. #2509
      • The voice dialog check no longer repeats on every start for a signed-out Codex. #2509
      • A New message to a session that already has the thread uses the thread's name in the wake title, not the old subject. #2509

      Plannotator

      Hide the repository owner

      A new switch in Settings โ†’ General shows the repository chip as the repository name alone. Hover still shows owner/repo. Off by default. #2391

      Folder sessions name the folder

      Behavior change: in a folder session, the header and the tab keep the folder's name after you open a file, instead of switching to the file. Single- file sessions still name the file. #2392

      Smaller changes

      • @plannotator/ui 0.58.0 adds the snooze menu and the HTML touch fixes for apps built on it. #2504

      Install / Update

      macOS / Linux:

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

      Windows:

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

      Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

      claude plugin marketplace update plannotator
      claude plugin update plannotator@plannotator
      

      Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin โ†’ Installed โ†’ plannotator โ†’ Update now.

      Pi:

      pi update npm:@plannotator/pi-extension
      

      OpenCode: Re-run the install script above. It also clears the OpenCode 2 plugin cache.

      What's Changed

      • fix(inbox): small batch (insecure-context ids, tick tooltip, voice check, wake title, Draft Recovered, test hygiene) by @backnotprop in #2509
      • fix(inbox): New message on a phone keeps the Thread row when the agent is picked by @backnotprop in #2513
      • feat(ui): Settings โ†’ General โ†’ Hide the repository owner by @BenNewman100 in #2391
      • feat(editor): a folder session's header and tab name the folder by @BenNewman100 in #2392
      • feat(inbox): group the list's โ‹ฏ menu into Rows, Thread panel, Machines by @backnotprop in #2507
      • chore(ui): bump @plannotator/ui to 0.58.0 by @backnotprop in #2504
      • Ask AI: the floating window in the Inbox by @backnotprop in #2491
      • Inbox: reply drafts keep pasted-text tiles, and Put back works after a reload by @backnotprop in #2500
      • feat(inbox): snooze a thread until a time by @backnotprop in #2497
      • feat(inbox): HTML pages on a phone open clear, comment in the bottom card by @backnotprop in #2494
      • Inbox: Settings > Accounts, read-only, this machine (step 1) by @backnotprop in #2454
      • Inbox: a long paste becomes a file tile with Undo and Put back by @backnotprop in #2499

      Community

      Full Changelog : v0.28.45...v0.28.46

    5. ๐Ÿ”— Simon Willison The U.S. Census Bureau and โ€œSuper Intelligenceโ€ rss

      I was reminded today of AI Adoption Rate Trending Down for Large Companies, a chart produced by Apollo Global Management in September 2025, which appeared to show a slowdown in U.S. corporate AI adoption based on numbers collected by the U.S. Census Bureau. At the time I used that chart to demonstrate GPT-5 data analysis, and then to experiment with Claude's new Code Interpreter. I decided to try running those numbers again to see what had changed over the past year, and in doing so learned that the Bureau has fallen foul of Executive Order 14434, aka the asinine Super Intelligence one.

      First, the updated chart

      Every two weeks the U.S. Census Bureau runs a survey called the Business Trends and Outlook Survey (aka BTOS). Each time it goes to 200,000 businesses out of 1.2 million total - the surveyed group (a "panel") cycles such that an individual business only completes the survey every twelve weeks.

      The latest data is published on alternating Thursdays at 10am.

      I used the most recent numbers (published October 22, 2026) to create a new version (GPT-6 Astra Extra High transcript) of the AI adoption chart, updated to reflect both the last twelve months and a change that was made to the survey question sent out by the Bureau:

      Line chart titled "AI use by U.S. firm size", subtitled "Six-survey trailing average โ€ข Share of employer businesses reporting use in the last two weeks" and "Updated with the October 22, 2026 Census release". Seven lines for firm sizes 250+, 100โ€“249, 50โ€“99, 20โ€“49, 10โ€“19, 5โ€“9 and 1โ€“4, on a y-axis from 0% to 45% and an x-axis from Jan 2024 to Oct 2026. Left section, "AI in producing goods or services": all sizes start at 3โ€“5% in late 2023 and climb slowly to 7โ€“13% by September 2025, with 250+ highest. A shaded gap is labeled "Question broadened Nov 2025" and "Series not comparable". Right section, "AI in any business function": all lines restart higher in February 2026 and rise steadily to "250+: 40.7%", "100โ€“249: 33.5%", "50โ€“99: 27.9%", "20โ€“49: 23.8%", "1โ€“4: 23.3%", "10โ€“19: 22.1%", "5โ€“9: 21.1%". Footnotes: "Source: U.S. Census Bureau, Business Trends and Outlook Survey (BTOS). Size groups are numbers of employees." "Method: arithmetic mean of six successive survey estimates, calculated separately for each question wording; no bridging of the break." "Dates use reference-period end, matching the original chart. Latest: Oct 4, 2026 (collected Oct 5โ€“18). First new six-wave average: Jan 25, 2026." "The gap includes the 2025 shutdown and the wait for six observations under the broader question. Survey uncertainty is not displayed."

      Here's a link to the larger image.

      For comparison, here's that AI adoption chart from last year (my GPT-5 version): AI adoption rates starting to decline for larger firms. A chart of AI adoption rate by firm size. Includes lines for 250+, 100-249, 50-99, 20-49, 10-19, 5-9 and 1-4 sized organizations. Chart starts in November 2023 with percentages ranging from 3 to 5, then all groups grow through August 2025 albeit with the 250+ group having a higher score than the others. That 250+ group peaks in July 2025 at around 14% and then appears to slope slightly downwards to 12% by August. Some of the other lines also start to tip down, though not as much.

      In September 2025 the largest (250+ employees) companies answered "yes" around 12% of the time to the question about whether they used AI in "producing goods or services".

      Under the new "any business function" wording, by February 2026, those same large companies answered "yes" around 30% of the time, and by October 2026 that had increased to around 40%.

      The data in the above chart comes from the "Employment size class" XLSX file, available from here. Here's a copy of the file I used.

      You can view the survey document that is sent out to businesses - here's my snapshot copy of that 346KB PDF.

      The changing language of the questions

      As the chart demonstrates, the question asked by the Bureau changed in a material way on November 17th, 2025. Prior to that date, the question they asked was this (emphasis mine):

      In the last two weeks, did this business use Artificial Intelligence (AI) in producing goods or services? (Examples of AI: machine learning, natural language processing, virtual agents, voice recognition, etc.)

      On December 3rd, 2025, the Bureau announced a significant change to that question. Here's the replacement:

      In the last two weeks, did this business use Artificial Intelligence (AI) in any of its business functions? (Examples of AI: machine learning, natural language processing, virtual agents, voice recognition, etc.)

      No more "producing goods or services" - now it's "in any of its business functions"! This means that the answers to the question before and after November 17th are not directly comparable.

      From October 19, 2026, they ask about Super Intelligence

      When I went looking for the updated question language in the latest XLSX file, I couldn't find it. I found this instead:

      In the last two weeks, did this business use Super Intelligence or SI (formerly referred to as Artificial Intelligence or AI) in any of its business functions? (Examples of SI use include: SI-powered data analysis; generative SI for marketing, product design, or coding; virtual SI agents for customer service; SI-powered forecasting or pricing; SI-driven computer vision for quality control, etc.)

      The BTOS about page explains what happened:

      Beginning with the October 19, 2026 collection, instrument wording was updated due to Executive Order 14434.

      The current numbers reflect the old Artificial Intelligence survey wording - the first survey results reflecting the Super Intelligence wording are due for publication on Thursday.

      Is this going to affect the survey?

      The obvious open question here is whether this wording change is going to affect the survey results.

      The businesses answering this survey will have last seen that question twelve weeks ago, when it was still called AI. Hopefully the new language isn't going to confuse them, especially since the survey helpfully spells out "formerly referred to as Artificial Intelligence or AI".

      I can't help but laugh at the absurdity of "SI-powered data analysis; generative SI for marketing, product design, or coding; virtual SI agents for customer service" though.

      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.

    6. ๐Ÿ”— earendil-works/pi v1.5.0 release

      New Features

      • Extension update changelogs : see what changed in installed extension packages on the next fresh launch after an update. Package authors can choose the changelog path, and collapseChangelog condenses the notices. See Show a changelog.
      • Faster streaming : large tool calls are parsed incrementally, and code-heavy answers and tool rows reuse highlighting and rendered Markdown instead of repeating the work on every update. See Keep rendering responsive.
      • Custom self-update commands : use PI_SELF_UPDATE_COMMAND or selfUpdateCommand to update pi through a wrapper or another package manager. See Custom update command.
      • GPT-6.1 Terra : available through OpenAI, Azure OpenAI Responses, and OpenAI Codex, with tool search, mid-conversation thinking-level changes, and thinking off. Codex offers a 500K context window. See Models.

      Breaking Changes

      • Tool argument validation runs on @earendil-works/pi-schema. TypeBox features outside JSON Schema (Type.Refine(), Type.BigInt(), Type.Undefined(), codecs, Format.Set() formats) no longer apply to tool arguments; see Tool parameter schemas and TypeBox. Plain JSON Schema tools, including MCP tools, now get the same coercion as TypeBox tools, such as converting numeric strings and wrapping a single value into an array. Validation failures the model sees list pi-schema's messages (- path: missing, - limit: expected number, got string) instead of TypeBox's (must have required properties path, must be number).

      Added

      • Extension packages can now show their changelog after an update. Pi reads pi.changelogPath from the package's package.json, or CHANGELOG.md in the package root, and on the next fresh launch shows entries newer than the last seen version under "Extension Updates". The collapseChangelog setting condenses this to one line per package (#5958, #8790)
      • pi.exec() accepts a maxBuffer option that limits stdout and stderr combined, and its result has a truncated field that is true when output exceeded the limit (#11360)
      • Device-code login (for example GitHub Copilot) now opens the verification page and copies the code when you press Enter. Providers can turn either action off with openBrowserOnConfirm: false or copyCodeOnConfirm: false (#9282, #9301)
      • pi update can update Pi through a wrapper or another package manager. Set PI_SELF_UPDATE_COMMAND (for example mise use -g npm:{packageName}@{version}) or the global selfUpdateCommand setting; pi update runs it when pi.dev reports a newer release and fills {packageName}, {version}, and {installSpec} from that release. See Custom update command (#7756, #5607)
      • Extensions can format the user's configured keybindings with keyText() and keyHint() from the tool render context and the message and entry renderer options. Importing these functions from @earendil-works/pi-coding-agent can resolve the extension's own copy of the package, which does not see pi's keybindings, so hints such as keyHint("app.tools.expand", "to expand") rendered without the key. The docs now recommend the injected functions (#4748)
      • Added persisted session-entry messageId and ISO timestamp to MarkdownTransformContext. They are available when rendering saved entries and undefined for live rendering (#7952 by @vipentti)
      • Added a blocked option to inline ctx.ui.custom() components so approval prompts and other custom dialogs can report that pi is waiting for user input. Overlays ignore the option. See Custom screens and overlays (#11428)
      • Added Usage.cost.totalFromProvider to distinguish billed totals from catalog estimates in SDK and extension usage data; combined usage is marked provider-reported only when every part is (#11178)
      • Added concrete responseModel metadata to messages from pi-messages providers such as Radius, including when a virtual model is requested. See AssistantMessage (#11265)
      • Added GPT-6.1 Terra for OpenAI, Azure OpenAI Responses, and OpenAI Codex, with tool search and mid-conversation thinking-level changes. It supports thinking off; Codex offers a 500K context window

      Changed

      • Extensions keep importing Type, Static and TSchema from @earendil-works/pi-ai: Pi maps that import to pi-ai's compat entry plus the TypeBox it bundles, now that pi-ai itself no longer re-exports TypeBox, and its StringEnum there stays a TypeBox TUnsafe<T>. The built-in tool factories (createReadTool() and the others) return TypeBoxAgentTool<typeof schema>, which keeps params typed for TypeBox.
      • Tightened system prompt
      • pi update for installs from the pi.dev installer no longer passes --min-release-age=0 to npm ci. The release lockfile pins every package, so the flag had no effect, and security scanners that block it stopped the update (#11262)
      • /model and /scoped-models now show a model's name next to its ID when the name adds words the ID lacks, such as a renamed models.json override (#5916, #11347)
      • MCP OAuth sign-in now uses pi's Client ID Metadata Document by default when the authorization server supports it for public clients, and registers a client dynamically otherwise, like Codex, Claude Code, and opencode. Clients registered before stay in use while their redirect URI matches. The new default oauth.clientRegistration: "auto" registers when clientName or a non-default callbackUrl is set; "dcr" always registers. pi mcp add --oauth-client-registration sets the mode (#11426)
      • Changed the default OpenAI model from gpt-5.5 to gpt-6.1-sol, including after ChatGPT sign-in when no model is selected (#11442)
      • Updated the built-in model catalog to models.dev v2. Realtime and image-only models are no longer offered as chat models; newer OpenAI and Google chat models are included

      Fixed

      • Updated glob matching to prevent denial of service from amplified glob patterns.
      • Fixed a saved "Do not trust" decision being ignored for projects without trust-requiring resources, for example a folder with only AGENTS.md. pi auto-trusted such projects, so ctx.isProjectTrusted() returned true and package commands treated them as trusted. A saved decision in trust.json now takes precedence; auto-trust applies only when no decision is saved (#10947)
      • Fixed Shift+Enter queueing a follow-up instead of inserting a newline in Apple Terminal setups that send ESC + Return. pi now checks the local Shift key state for that sequence, as it already did for plain Return; Alt+Enter without Shift still queues a follow-up (#11559)
      • Fixed the working status (OSC 7501) disappearing in Rex and iTerm2 during runs in regular TUI mode. Rendered messages wrote OSC 133 prompt markers to the terminal, which the terminal treats as a new shell prompt; regular mode no longer writes them (#11519)
      • Fixed compaction, branch summaries, and bug-report summaries in SDK sessions passing the stored OAuth token back to the model runtime as an explicit API key. Provider auth that treats explicit keys differently from stored OAuth now sees the OAuth login, as normal prompts do (#11520)
      • Fixed a redundant system prompt update (tools, rules) when an extension set the same active tools in a different order, for example a reversed pi.setActiveTools() list. Tools that stay active now keep their order and newly activated tools are appended (#11495)
      • Fixed pi.exec() crashing pi with RangeError: Invalid string length when a command printed more output than fits in a string. The default output cap is the smaller of 256 MiB and the runtime string limit; past the cap, the command is terminated and the result has truncated: true and a nonzero exit code (#11360)
      • Fixed pi.exec() never returning when a command ignored SIGTERM after a timeout or abort. pi now sends SIGKILL 5 seconds later, as intended
      • Fixed pi install and pi remove adding ever deeper nested entries to the npm package-lock.json when the agent directory is reached through a symlink, such as ~/.pi linked into a dotfiles repo. pi now passes the resolved real path to npm (#11358)
      • MCP sign-in now rejects authorization endpoints and other OAuth metadata URLs that are not http: or https:. Before, a malicious MCP server could supply a file: or custom protocol URL, which pi passed to the platform URL handler.
      • Automatic fd and rg downloads no longer fetch x86-64 binaries on ARM32 and other architectures without a prebuilt release. pi now warns and recommends installing the tool with the system package manager (#11209)
      • Fixed /model search ranking letters scattered over an earlier part of an entry above a real match, for example opus listing gpt-oss-120b and claude-sonnet-4.5 before claude-opus-4.1 (#11220, #11296)
      • Fixed /resume search matching scattered letters anywhere in session messages and IDs, for example 1024 matching inside a session UUID. Session names and working directories still match fuzzily; IDs and message text now match only as exact substrings (#11220, #11024, #11296)
      • Fixed HTML export showing a blank page for sessions with thousands of entries (#11225, #11293)
      • Fixed HTML export not showing system messages: the system prompt and tools, and later section updates such as after /reload. pi --export now includes the system prompt and tools too (#11261, #3464, #11290)
      • Fixed aborting a bash command on macOS sometimes running the next command of a list such as long_step; next_step. pi now stops the process group before killing it (#11252, #11289)
      • Fixed large streamed tool calls taking excessive CPU time and memory because every delta re-parsed the accumulated arguments. Providers and agent proxy streams now parse each delta once, grammar tools no longer copy their entire input per delta, and interactive tool renderers run at most once per frame (#9265)
      • Fixed the login dialog opening sign-in URLs that are not web URLs, and printing control characters from sign-in, device-code, and info URLs, which could end a terminal hyperlink and send escape sequences to the terminal
      • Fixed tui.select.pageUp and tui.select.pageDown being ignored in slash command and file autocomplete, /settings, and the model, scoped models, login, fork, /mcp, and llama.cpp selectors. In fullscreen mode, PageUp/PageDown now move an open list or autocomplete menu instead of scrolling the transcript, and a page key bound to Ctrl+V pages autocomplete instead of pasting an image (#7629, based on #7680 by @muyiyr)
      • Fixed tool output and ! command output showing the parameters of control sequences with a <, = or > prefix as text, for example 35;59;1M from a mouse report ESC[<35;59;1M or 0;276;0c from a terminal reply ESC[>0;276;0c. Text after the keypad-mode sequences ESC= and ESC> is still kept (#11377)
      • Fixed pi -e npm:<pkg> staying on the version from the first download. On each start and /reload, pi now reinstalls an -e npm package without an exact version when the registry has a newer matching version. pi -e git:<repo>@<branch> likewise stayed on its first checkout and is now fetched and reset to the branch; a commit-hash ref that is already checked out is not fetched. Offline mode and failed checks keep the cached copy (#11375, #11590)
      • Fixed Windows paths being compared case-sensitively. When the working directory and home directory differed only in drive-letter casing (c:\Users\me vs C:\Users\me), skills in ~/.agents/skills loaded twice, as project and user skills, and were reported as name collisions. The same mismatch also re-asked for saved project trust, hid sessions in a custom session directory from --continue and /resume, and stopped pi remove from matching configured local packages (#10488)
      • Fixed paths next to the home directory being shown with a broken ~ prefix, for example /home/me2/project shown as ~2/project when home is /home/me
      • Fixed pi mcp login -l and pi mcp logout -l failing with Unknown option --local. although pi mcp add and pi mcp remove accept -l. With -l, they now require the server to be a project server. Unknown options are now reported as typed, and a mistyped server name gets a suggestion, for example Did you mean "gurker"?
      • Fixed pi update naming pnpm for installs that only live under PNPM_HOME, for example a wrapper under $PNPM_HOME/global-nub/. pi said "not managed by a global pnpm install"; it now names the package manager only when that manager owns the install (#7756)
      • Fixed image paste, copy, and opening the browser for sign-in failing silently on WSL when the working directory is deep. Windows programs such as powershell.exe and explorer.exe cannot start from a directory whose \\wsl.localhost\... path exceeds 260 characters; pi now starts these helpers from / (#11592)
      • Fixed the external editor failing silently, for example when the editor command is wrong or a Windows editor cannot start from a deep WSL directory. pi now shows a status message such as External editor exited with code 1; prompt unchanged (#11592)
      • Fixed tool_search and codemode searchTools() ranking a tool below tools that only mention its name in their descriptions, for example peekaboo app ranking mcp__peekaboo__app 14th. A tool matching more of the query's words now ranks above one matching fewer, a query word in a tool's name scores more than any number of mentions in its description, a tool whose whole name is in the query gets a large bonus, and long server instructions no longer lower the scores of that server's tools (#11331)
      • Fixed tool_search and codemode searchTools() finding nothing for Chinese, Japanese, Thai, and other non-ASCII queries, because the tokenizer kept only ASCII letters and digits. Words in any script now match, text without spaces between words such as ๆœ็ดข่ฎฐๅฝ• is split into words, and canonically equivalent text such as cafรฉ and cafe\u0301 matches (#10816, #11037 by @haoqixu)
      • Fixed pi update stopping with git clean -fdx failed with code 1 on Windows when another pi session had a git extension's native module or executable open. Windows cannot delete such files, so the update left the new code with the old dependencies. pi now warns, installs the dependencies anyway, and retries the clean on the next update (#11597)
      • Fixed tool rows and streamed answers highlighting the same code again on every redraw. A running codemode row highlighted its whole script on every progress update and timer tick, a complete write row its whole file on every update and expand toggle, a streamed write its first 50 lines on every delta, and a streamed answer every earlier code block on every delta. Rows now reuse their last highlighting until the code, theme, or loaded grammars change, and assistant messages keep their rendered Markdown blocks while streaming (#10971)
      • Fixed resized photos being sent as multi-megabyte PNGs even when JPEG was much smaller, causing large requests to fail or time out. Image resizing now tries the smaller encoding first (#11551)
      • Fixed pi update --extensions reporting success without warning when npm's stale registry metadata left a package at its old version. pi now reports the installed and expected versions (#11536)
      • Fixed skill validation warnings being labeled [Skill conflicts] even when there was no name collision. They are now shown under [Skill warnings] (#11521)
      • Fixed codemode tool descriptions including entire union and multi-line output types in every request. Object unions now summarize their fields and discriminators; other multi-line types point to describeTool() for the full declaration (#11501)
      • Fixed the model-scope startup notice being left in the shell after exiting fullscreen mode. It now appears inside pi's fullscreen header (#11508)
      • Fixed startup from a deleted working directory crashing with an uncaught uv_cwd stack trace. pi now asks the user to change to an existing directory (#11509)
      • Fixed failed session writes leaving entries in memory that were absent from disk, so later entries pointed to missing parents and resumed sessions lost earlier history and tools (#11460)
      • Fixed /tree branch summaries ignoring the session's thinking level, which could make reasoning models reject summary requests with an unsupported none effort (#11444)
      • Fixed hidden thinking with an empty hidden-thinking label still adding blank rows before answers and tool calls (#11402)
      • Fixed package installation and removal printing npm audit and funding advice, including npm audit fix instructions that could install a second copy of pi into the package directory (#11409)
      • Fixed replacing an extension editor while a dialog was open hiding the dialog and leaving it unanswerable. The new editor now appears after the dialog closes (#11431)
      • Fixed grep context lines being offset from ripgrep's match line numbers when a file contains a lone carriage return (#11398)
      • Fixed --model <provider>/<id> failing for provider IDs containing slashes, such as URL-derived llama.cpp provider IDs (#11394)
      • Fixed slow session forking on filesystems where opening files is expensive by writing the fork through one file handle (#11253)
      • Fixed pi.exec() corrupting UTF-8 characters split across stdout or stderr chunks (#11312)
      • Fixed pi.exec() returning empty stderr when a command could not be spawned, such as a missing executable. It now preserves the spawn error message (#11257 by @muyiyr)
      • Fixed a configured package failing to install crashing startup. pi now skips the package, reports an extension warning, and retries on the next start or /reload; explicit install and update commands still fail with a nonzero exit (#11304 by @Lincoln504)
      • Fixed the todo extension example crashing the TUI when a tool call failed argument validation (#8057 by @cyzlmh)
      • Updated undici to 8.12.3 and the Gondolin extension example to 0.14.0 for security advisories
      • Fixed OpenRouter cost totals using catalog estimates instead of reported billing for Chat Completions and Anthropic Messages. BYOK totals include both OpenRouter charges and reported upstream costs; component costs remain catalog estimates (#9980)
      • Fixed OpenCode Zen and OpenCode Go requests using shared endpoints instead of their protocol-specific OpenAI, Anthropic, Google, and System One endpoints (#11434 by @vimtor)
      • Fixed Zhipu/Z.ai usage-limit errors (code 1308) being treated as transient HTTP 429 errors, causing automatic retries that cannot succeed until the usage cap resets (#11537)
      • Fixed LiteLLM's ContextWindowExceededError not being recognized as context overflow (#11492)
      • Fixed Gemini tool schemas sending unsupported const keywords. They are now converted to single-value enum schemas without rewriting literal data in defaults, examples, or enum values, or losing properties named __proto__ (#11308)
      • Fixed the faux provider counting simulated cache-write tokens as both input and cache writes
      • Fixed Orca terminals falling back to text for inline images. Orca is now recognized as supporting true color and hyperlinks, and Kitty images when it advertises ORCA_IMAGE_PROTOCOL=kitty (#9329 by @XRX193)
      • Fixed bare Markdown URLs swallowing following CJK punctuation and text; explicit Markdown links and angle autolinks are unchanged (#10934 by @haoqixu)
      • Fixed Kitty-protocol F1โ€“F12 shortcuts, including modified function keys, not being recognized, and F13+ and other functional keys inserting invisible private-use characters into the editor (#11419, #11345)
      • Fixed Kitty images inside padded or colored boxes disappearing when their first row scrolled above the fullscreen viewport. Partially visible images are now cropped correctly, including beside other text
      • Fixed deeply nested Markdown blockquotes producing exponentially many lines, hanging or crashing rendering once their borders exhausted the available width (#11272)
      • Fixed Claude sessions failing with role 'system' must precede an 'assistant' message when a system update was followed by an empty or reasoning-only assistant reply (#11091)
      • Fixed Claude mid-conversation thinking-level changes failing with Invalid effort level on accounts whose organization caps effort below high (#10063)
      • Fixed Kimi K3.1 Pro models using Kimi K2 request settings on Kimi Coding, Moonshot, and OpenCode Go. They now send the correct reasoning effort, preserve earlier thinking, accept tools added mid-conversation, and use K3-family pricing
      • Fixed OpenCode DeepSeek V4.1 Flash requests failing when long cache retention sent the unsupported prompt_cache_retention parameter
      • Fixed GPT-5.4 and GPT-5.5 failing with Missing namespace for function_call after switching from a model that had called tools (#11415)
      • Fixed Bedrock Claude requests failing when preferred strict tools exceed the provider's strict-tool limits. Requests now retry once with preferred tools non-strict while keeping required strict tools strict (#11416)
      • Fixed OpenRouter's ~anthropic/claude-*-latest aliases losing earlier thinking after tool calls by using the Anthropic Messages API (#9534)
      • Fixed terminal titles containing control characters being able to inject terminal escape sequences, and pi-messages streams accepting invalid content-block indices
      • Fixed fullscreen double-click selection splitting paths and tokens at ~, ., \, and +; word characters now match iTerm2's defaults (#10980)
      • Fixed display math wider than the content area being split apart by line wrapping; it now falls back to raw LaTeX (#11483)
      • Fixed styled words ending exactly at the wrap width adding a leading space on the next line, and strikethrough leaking into wrapped-line padding (#10925)
      • Fixed /tree branch summaries including failed assistant replies and original content that context edits had hidden or replaced. Summaries now honor the same context edits as live requests and compaction (#11602)

      Removed

    7. ๐Ÿ”— backnotprop/plannotator v0.28.45 release

      Follow @plannotator on X for updates

      Missed recent releases? Release | Highlights
      ---|---
      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, stop and restart
      v0.28.35 | Updates check the download against checksums Plannotator fetches itself, a failed check changes nothing
      v0.28.34 | Start a Grok Build session from the Inbox, action items in your reply, a tidier Board, Settings โ†’ Capabilities, a failed feedback send is shown
      v0.28.33 | Pi updates no longer get stuck on 0.28.31

      What's New in v0.28.45

      A new theme, a thread panel view for the Inbox, session names in the To picker, and thread links that open in place. 26 PRs.

      Plannotator Inbox

      Thread panel view

      Pick Keep thread panel open in the list's โ‹ฎ menu to keep a thread panel beside your list, as Google Chat does. Opening a thread fills the panel and the list stays put. The wide view is still the default. #2479

      Session names in the To picker

      The To picker shows the names you give your sessions: /rename in Claude Code, and session names in Pi and OpenCode 2. #2467

      Thread links open in place

      A link to another thread opens it in the same Inbox window, from message text, questions and Markdown files, instead of a new tab. #2493

      Comment on diagram parts

      You can comment on a part of a Mermaid or Graphviz diagram inside a message, as in plan review. #2469

      Your phone over the tailnet

      Your own phone over the tailnet now works like the computer for updates, Settings โ†’ Agents, the Board switch and the voice key. #2461

      plannotator inbox call

      Run any Inbox tool action from a script: plannotator inbox call <action> '<json>'. Agents use it to tidy the Inbox in one script instead of many tool calls. #2462

      Behavior change: the Inbox no longer has wait_for_reply. An agent that can be woken gets your reply as a new turn, as before. Others are told to go on with their work and read the thread later. An older plugin that still calls it gets a clear error. #2477

      Smaller changes

      • On a phone, New message has Send in the bottom row, and the header folds over the keyboard. #2466
      • Send no longer waits behind a long dictated answer to a question. #2490
      • Archive moved from the thread header into the โ‹ฏ menu. #2481
      • New message takes dictation, as the reply box does. #2482
      • The comment count opens the list of comments. #2478
      • Issue and PR preview cards show single line breaks, as GitHub does. #2488
      • A desktop picture stays clear of the option card, and the card is slimmer. #2476
      • On a phone, Show tools brings the reply back working. #2484
      • The open questions pill in the full-screen composer stays on one line. #2483
      • The first-run line no longer keeps a purple outline. #2489

      Plannotator

      Plannotator Modern theme

      A new built-in theme with light and dark modes. Pick it in Settings โ†’ Theme in plan review and code review, or Settings โ†’ General โ†’ Colors in the Inbox. Nothing changes unless you pick it. #2498

      Smaller changes

      • In Claude Code, a code review "Ask this session" question still waiting when you run /clear no longer runs in the new conversation. #2503
      • @plannotator/ui 0.57.0 adds a shared floating chat window and richer chat transcripts for apps built on it. #2452, #2492

      Install / Update

      macOS / Linux:

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

      Windows:

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

      Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

      claude plugin marketplace update plannotator
      claude plugin update plannotator@plannotator
      

      Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin โ†’ Installed โ†’ plannotator โ†’ Update now.

      Pi:

      pi update npm:@plannotator/pi-extension
      

      OpenCode: Re-run the install script above. It also clears the OpenCode 2 plugin cache.

      What's Changed

      • feat(inbox): comment on diagram parts in a thread message by @backnotprop in #2469
      • feat(inbox): plannotator inbox call, the Inbox tool from a script by @backnotprop in #2462
      • feat(ui): a shared floating chat window by @backnotprop in #2452
      • Inbox: the owner's phone over the tailnet works like the computer by @backnotprop in #2461
      • Inbox: Send in a phone's bottom row, head folds over the keyboard by @backnotprop in #2466
      • Inbox Ask AI: Claude Code answers when a question waits (off by default) by @backnotprop in #2474
      • chore(ui): publish prep 0.56.0 by @backnotprop in #2480
      • feat(inbox): remove wait_for_reply by @backnotprop in #2477
      • fix(inbox): the open questions pill in the full-screen composer never wraps by @backnotprop in #2483
      • Inbox notes: swap the retired wait_for_reply sentence in edited blocks by @backnotprop in #2487
      • fix(inbox): on a phone, Show tools brings the reply back working by @backnotprop in #2484
      • fix(inbox): show single newlines as line breaks in the ref preview card by @backnotprop in #2488
      • fix(inbox): keep a desktop picture clear of the option card, and make the card lean by @backnotprop in #2476
      • fix(inbox): first-run line no longer has a permanent purple outline by @backnotprop in #2489
      • Inbox: move Archive from the thread header into the โ‹ฏ menu by @backnotprop in #2481
      • fix(inbox): the comment count opens the list of comments by @backnotprop in #2478
      • Inbox: New message dictates as the reply box does by @backnotprop in #2482
      • feat(inbox): an optional thread panel view by @backnotprop in #2479
      • ui: richMarkdown for the chat transcript, for Workspaces parity by @backnotprop in #2492
      • fix(inbox): collapse queued answer saves so Send doesn't wait behind them by @backnotprop in #2490
      • feat(ui): Plannotator Modern theme by @backnotprop in #2498
      • feat(inbox): show session labels in the To picker by @backnotprop in #2467
      • chore(ui): bump @plannotator/ui to 0.57.0 by @backnotprop in #2502
      • fix(inbox): open links to this Inbox in the same window by @backnotprop in #2493
      • test(inbox): prove each button tap in the phone option card spec by its click by @backnotprop in #2501
      • Ask this session: a question queued at /clear stays out of the new conversation by @backnotprop in #2503

      Community

      • @zane668 asked for session names in the To picker in #2450, and reported the collapsed line breaks in preview cards in #2485.

      Full Changelog : v0.28.44...v0.28.45

    8. ๐Ÿ”— HexRaysSA/plugin-repository commits sync plugin-repository.json rss
      sync plugin-repository.json
      
      No plugin changes detected
      
    9. ๐Ÿ”— HexRaysSA/plugin-repository commits sync repo: +1 release rss
      sync repo: +1 release
      
      ## New releases
      - [idalib-rust-bindings](https://github.com/idalib-rs/idalib): 0.11.0
      
    10. ๐Ÿ”— Filip Filmar You Deserve Nice Circuit Diagrams: Blockpic Draws Your Netlist rss

      “You deserve nice circuit diagrams!”

      Every digital design document needs pictures. A clean block diagram communicates dataflow, bus widths, and control hierarchy in seconds. Reading through hundreds of lines of RTL or dense prose takes much longer.

      Yet in almost every hardware project, documentation suffers from the same problem. Diagrams are drawn once in a graphical editor, exported as static bitmaps, and checked in. Over time, register stages are refactored, control signals are renamed, and bus widths change. The diagram remains frozen in time, silently misleading anyone who reads it.

      Blockpic takes a fresh approach. Designed for engineering documentation and written in Go, Blockpic lets you treat digital circuit diagrams as code. Through integration with rules_openxc7, Blockpic also draws gate-level schematics directly from the synthesized Yosys netlist. In a unified Bazel build graph, your RTL, synthesis, diagram rendering, and LaTeX publication are tied together. When the HDL changes, the figures update automatically.

    11. ๐Ÿ”— Ampcode News Artifacts rss

      Agents in Amp can now collaborate with you in Artifacts. These are documents that belong to a single thread and that the agent, you, and your teammates can all edit.

      Here are two examples from our real threads.

      This one is from Nicolay's thread, where he asked whether Amp wastes model calls while it waits on a long shell command. The agent went through 60 of our threads and wrote up what it found: how much the waiting costs, why, and a plan to fix it in two steps. Reading it gets you up to speed on the problem before you decide what to build:

      A thread with its Artifacts pane open. The artifact shows a bar chart of the model calls each waiting strategy needs, from 3.9k for polling today down to 978 for an async watch.

      Artifacts also work well for pulling together what several threads found. In Beyang's thread, a user had asked for a rendered preview of Markdown files in the Changes pane. Beyang had the agent build two versions at once, each in its own orb. When both reported back, the agent put them side by side in one artifact, with what each costs and which one to ship first:

      A thread with its Artifacts pane open. The agent's reply shows screenshots of the second prototype, and the artifact compares the two Markdown preview variants with the files, checks, and costs of each.

      You don't have to ask for one. When the agent has something for you to read, like a plan, a report, or notes from a call, it writes an artifact instead of a long reply. The artifact opens next to the thread. Edit it like any document: tick off a checklist, fix a table, rewrite a paragraph. When the agent comes back to it, it reads your edits first and works them in instead of writing over them.

      Open Views โ†’ Artifacts in any thread, or just ask Amp to write one. More in the docs.