Changelog
The latest releases and updates from our team. We ship often and keep things lean.
A new Mac usually means remembering, one at a time, every tool you have installed on the last one. Personas replaces that with 27 curated bundles that install together — 17 for languages and runtimes and 10 for the roles that cut across them, from Terminal Foundation and Backend through DevOps, Security, Data & ML and Embedded. The idea is borrowed from Omarchy, whose install menu is organised by language and whose scripts install a runtime along with its package manager, framework CLI and language server rather than a bare compiler; each persona here works the same way. Pick Go and the language server, linter and debugger come with it. Pick Zig and zls comes too. Pick DevOps and you get kubectl, Helm, k9s, OpenTofu and a container runtime that actually has a client. Every package carries a one-line reason it belongs in that particular bundle instead of repeating what the package is; the essential ones are ticked for you, the rest are offered unticked, and anything already on your Mac is shown but never reinstalled. Installing a bundle uses the queue Upgrade All already had — the full list up front, per-package progress, elapsed time, and a Cancel button that leaves Homebrew intact. The catalogue behind it was checked package by package against Homebrew itself, which is how it knows Terraform has left homebrew-core and reaches for OpenTofu instead. This release also fixes a bug Spanish speakers have been living with quietly: the Spanish translation shipped inside the app but was never registered in the release build, so Spanish-language Macs fell back to English in every previous version.
Grab the container's title bar and the window it was holding vanished behind the container's own empty content area, and stayed there until you clicked a tab. It looked like a failure to repaint; nothing failed to repaint. Clicking the container activates Contain, macOS puts an active app's windows in front of every background app's, and the container was simply being drawn over the window it was meant to be framing — which is also why the re-raise after each drag could never fix it, since AXRaise will not lift a background window in front of the active app's. Contain now orders itself below the window it contains, so the pair arrives at the front together and in the right order, measured at 14 ms from the click. Two neighbouring fixes come with it: containing one window of an app no longer disturbs its others — hiding is an app-level operation in macOS, so Contain now only hides an app when it holds all of it, and one with a window still out on the desktop stays put — and selecting a tab no longer buries the container behind the app it just brought forward. This entry also covers 0.3.5, which made moving and resizing the container track properly (writes rate-limited to one per display frame, 3.55 s of blocked main thread over a 60-event drag down to 0.95 s, and a window that follows the container back down after a zoom instead of keeping its widest size), and 0.3.4, which brought the "where macOS draws the line" list into the app itself — a Limitations pane in Settings and a ? beside the version, both built from one list so they cannot drift apart. The preview deadline is unchanged at 20 August 2026.
Long installs and upgrades stop being a one-way trip. Every install, update, removal and reinstall can now be cancelled, and cancelling interrupts Homebrew the way Ctrl-C does in a terminal — it unwinds and releases its lock rather than being killed mid-step. Stopping an Upgrade All finishes cleanly on the package it interrupted and leaves the rest queued, so starting it again picks up where you left off. The progress view also stopped depending on where you launched the action: an install started from a package row, the right-click menu or the batch bar used to get nothing but a one-line stripe at the bottom of the window, and now gets the same card as everywhere else, with the action's icon, the package name and rotating brewing verbs. Upgrade All moved out of the Updates pane into its own view over the window, so the queue stays visible from any section. Alongside that, the Updates page gained a Check for Updates button that re-runs brew update, the installed and outdated scans, and the vulnerability check in one go — and section actions across the app moved out of the window toolbar, where they read as chrome, into a consistent action bar on each page. This entry also covers 2.4.1, which added the New sidebar section listing formulae and casks Homebrew has published recently, kept current between releases without a server.
Contain is a small macOS app that holds your other windows. Open one resizable container, pick any window you already have open, and Contain pins it inside — each contained window getting its own tab, so three TextEdit documents are three tabs rather than one "TextEdit". The window stays the real, fully interactive app window: no screen capture, no proxy view. macOS has no public API for embedding another process's window, so Contain does what tiling window managers do and drives the Accessibility API, re-pinning any window that drifts within a second. The picker is a grid of tiles rather than a list, because a menu of "App — Window title" lines is fine at three entries and unreadable at thirty. Contain records where every window was before it adopted it and puts it back exactly there on release or quit, so containing a window leaves no trace once you stop. This first public build ships as a notarized, Developer ID-signed disk image and updates itself from here on — which matters more than usual for this app, since macOS ties the Accessibility grant to the code signature, so a stable signature is what lets an update land without you re-granting access. It is a time-limited beta: the build stops working on 20 August 2026, restoring every window it was holding as it quits.
EasyHomebrew's minimum macOS drops from 26 all the way to 14 (Sonoma) — and since Sonoma still runs on Intel, those Macs are supported again, with the app and its menu-bar agent both shipping as universal binaries. Nothing was cut to get there: browsing and searching the catalogue, installing and upgrading, categories, services, taps, Brew Doctor, and CVE checks all work the same, and Discover's semantic search still ranks results on-device. The Apple Intelligence extras — the Discover recommendation, automatic categorisation, logo detection, Doctor explanations, and tap summaries — still need macOS 26 (Tahoe), but they now switch off cleanly on older systems instead of being unavailable at all, and Settings → Intelligence tells you which applies to your Mac. The releases since 2.2.1 also brought the menu-bar agent a status row, a version readout with a restart button, and unattended auto-upgrades within a time window you choose; a refreshed catalogue of 16,196 packages; clearer handling when macOS App Management blocks a cask upgrade; and three Discover fixes, including exact package-name matches finally ranking first.
Practical UV is now published on both the VS Code Marketplace (as wizhut-tech.wiz-practical-uv) and the Open VSX Registry, built from the same source — so it installs wherever your editor looks, whether that's VS Code, VSCodium, or Cursor. v0.1.9 itself is a housekeeping release rather than a feature one: the build toolchain moved forward and clears 11 advisories (7 high, 4 moderate), and there are no runtime dependency changes — the extension still ships only @iarna/toml, which was unaffected. One thing to check before updating: the minimum supported VS Code is now 1.125, raised from 1.118. Editors on 1.118–1.124 keep the version they already have and stop receiving updates. From this release on, changes are tracked in CHANGELOG.md.
EasyHomebrew left beta on June 12 and the 2.x series has been moving fast since. It ships as a one-time €10 purchase — no subscription, lifetime updates within the major version — unlocked with a license key powered by Dodo Payments that the menu-bar agent honours too. As of v2.2.1 the app updates itself: it checks for new versions at launch and once a day and installs them in place, so this is the last version you'll ever download by hand. Along the way the 2.x releases added a right-click context menu on every package row, an Upgrade All that shows its whole queue with per-package status, an Updates list that finally includes outdated dependencies, a services quick-info popover with a built-in configuration viewer, Brew Doctor warnings turned into grouped one-click fixes, instant catalog filtering, a smarter Discover with an Apple Intelligence "Best pick", full localization in six languages, and a new brewing-tank app icon.
The biggest update since launch: Practical UV now treats requirements.txt as a first-class citizen. Outdated detection, hover info, code actions, and the dependency dashboard all light up automatically on requirements.txt, requirements-*.txt, and any *.txt under requirements/. Comments, pip directives (-r, -e, -c, --index-url), direct URL specs (pkg @ https://…), and PEP 508 environment markers are all parsed correctly. Open a requirements.txt and a "↑ Convert to uv" action appears in the status bar — one click runs uv init (if needed) and uv add -r in the integrated terminal, and your project is on uv. Saving a pyproject.toml with changed versions now politely offers to run uv sync for you. Already on Open VSX as version 0.1.8.
The Updates page gets a long-overdue makeover with a prominent Upgrade All button, a one-click Update on every outdated row, and a clean Upgrade Selected action for batch mode — extending across Installed, All Packages, Categories, and Search Results. Casks that need root install end-to-end through a friendly authorisation flow (no more cryptic sudo failures), and a live background-activity panel in Settings shows every async job in flight. Plus a rebuilt categories database that recovers ~1,100 cask classifications, font casks that categorise correctly the first time, and a calmer macOS App Store-blue treatment for update badges.
Every package now opens an App Store-style page with everything you need to make a decision in one place. A clean stat strip shows the essentials. An AI-written description tells you what the package actually does — no more squinting at one-liners. A screenshot gallery with a native carousel and arrow-key navigation lets you preview apps before you install. Install trends for the last 30, 90, and 365 days reveal what's genuinely popular. Variants of the same app appear as click-through mini-cards. And a brand-new Games category gives 117 titles a proper home.
Browse your packages your way: a new toolbar toggle switches every list between a compact row view and a visual card grid, and your choice sticks across launches. Variants of the same app — think Firefox, Firefox ESR, Firefox Developer Edition — now collapse into a single tidy entry with a +N expander, so your lists feel curated rather than crowded. The grouping is smart enough to keep unrelated projects apart, even when they share a host. Plus a definitive fix for the rare "Homebrew is busy" warning that was getting in the way of upgrades.
The Doctor tab is no longer a wall of warnings — it's a list of one-click fixes. Every diagnostic shows up as its own card with a "Run fix" button: deprecated casks and formulae, unlinked kegs, missing dependencies, stray files, PATH issues, and more. Spot something unfamiliar? Apple Intelligence explains it in plain English on macOS 26. Errors across the app are friendlier too — clear titles, readable messages, and details tucked away until you need them. And if something fails in a batch, just tap the row to see why.
Three quick follow-ups to the public beta, now rolled up into v1.5.3. The headline work landed in v1.5.2: a Reinstall button for misbehaving packages, a new EasyHomebrew status panel in the bottom-left showing app version, packages scanned and affected, and the disk space the app itself uses. Vulnerability scanning runs automatically alongside update checks, and the Updates list now shows only the apps and tools you installed yourself — internal dependencies no longer appear as separately upgradable, which prevents breakage from mismatched versions. v1.5.1 brought stability and performance polish across package browsing, services, and Discover. v1.5.3 adds opt-in anonymous usage analytics — aggregate events only, never package names or search queries, and fully opt-out from Settings → Privacy. Free to download, same install path as 1.5.
EasyHomebrew has entered public beta. v1.5 is available as a free download — no App Store, no waitlist. It includes all core features: package and cask management, CVE vulnerability scanning, services management, Brew Doctor with Apple Intelligence diagnostics on macOS 26, batch operations, and the new Discover feature powered by on-device semantic search. Give it a try and send us your feedback.
Our latest blog post breaks down why most AI prompts produce underwhelming results — and it's not the model's fault. Language models are precise instruments: vague inputs reliably produce vague outputs. The article introduces seven measurable dimensions for evaluating prompt quality — clarity, precision, chain-of-thought reasoning, information completeness, constraint verifiability, structural compliance, and informational integrity — each targeting a specific failure mode. These aren't abstract rules but practical principles drawn from state-of-the-art research that fundamentally change how you write prompts.
We're building EasyHomebrew — a native macOS app that brings a clean, intuitive GUI to Homebrew. Browse, install, upgrade, and uninstall formulae and casks without touching the terminal. It also includes built-in CVE vulnerability scanning powered by the OSV database, services management, disk usage stats, and full-text search across all available packages. EasyHomebrew is coming soon.
Two major additions to the Promptivo universe. The new Benchmarks page opens the hood on our scoring engine — showing exactly how the seven quality dimensions perform against Google's IFEval (541 expert-written prompts) and MePO (2,000 prompt pairs before and after optimization). Key findings: zero expert prompts scored "Excellent," Constraint Verifiability is the hardest dimension to improve, and Information Completeness delivers the single biggest gain at +9.6%. Alongside it, the new Prompting Guide is a hands-on walkthrough with real before-and-after examples for every dimension, actionable checklists, and concrete techniques to level up your prompts immediately.
Our latest blog post dives into the research behind prompt quality and why it matters more than ever. Learn how Promptivo uses deterministic linguistic analysis — grounded in peer-reviewed studies of over 5,000 prompt pairs — to score your prompts across seven quality dimensions. Discover why clarity beats chain-of-thought scaffolding, how a few lines of structure outperform paragraphs of description, and what makes a prompt work consistently across models of all sizes.
The revamped Cloudproc website is live, and you can now express your interest to join the beta program. Cloudproc is an non-opinionated, application-level management and observability platform that gives you real-time, full-stack visibility into your infrastructure. Monitor, analyze, and optimize your applications from a single dashboard — with real-time metrics, traces, intelligent alerting that cuts through noise, and seamless integration with your existing tech stack.
We just shipped Promptivo — a prompt scoring tool that analyzes your AI prompts across seven quality dimensions and gives you clear, actionable advice to improve them. No AI calls, no latency, no cost per evaluation — scoring uses deterministic linguistic analysis and returns results in milliseconds. Inspired by peer-reviewed research on prompt quality, Promptivo helps you write better prompts and get better results. We would love your feedback.
Our new VS Code extension brings the power of UV — the blazing-fast Python package manager by Astral — right into your editor. No more context switching to the terminal for dependency management. Get TOML syntax highlighting, automatic outdated dependency detection via PyPI, quick-fix upgrades, and run common UV commands straight from the command palette.