Fetching from the wire…
Public story · 2026-09-12 · high
The old function keeps running, and new code gets a plainly named twin that does the same job.
Why now: Willison's write-up on the change went up September 11.
Python 3.15 marks re.match() as discouraged for new code, its release manager Hugo van Kemenade says. The function anchors at the start of a string but not the end, a gap that's confused developers for about 25 years. Anyone who reads re.match('foo', 'foobar') and expects a full-string check gets burned when trailing characters slide through unchecked, per Simon Willison's writeup.
3.15 doesn't change what any of the four functions do. re.search() matches anywhere in the string. re.fullmatch() matches the whole string. The new re.prefixmatch() does exactly what re.match() already does, just under a name that says so.
Anyone starting new code should default to re.fullmatch() or re.search() and treat re.match() as a legacy call, even though it isn't going anywhere.
Python's fix renamed the confusing function and left the original in place, rather than changing what it does. Existing re.match() calls keep running with no forced migration, so the old name doesn't disappear either. It just sits next to a clearer one.
Each link below shares sources, entities, or timing with this story.
CCP announced the migration covering code that has run on Stackless 2.7 since 2010. The approach is to run futurize across the codebase and then manually review roughly 20,000 places where Python 2 and 3 behavior diverges, including integer division (Simon Willison). No comple...
He handed Claude Fable 5, in Claude Code for web, the job of evaluating whether smolvm 1.8.3 could safely run untrusted Python and JavaScript under strict constraints. Verdict: it fits, with hardware-isolated VMs rather than shared-kernel containers, enforced CPU/RAM limits, g...
The decision, covered by Simon Willison, frames the ban as strategic: maintainers invest time reviewing contributions to mentor developers into trusted long-term contributors. If an LLM wrote the code, that mentorship is wasted. The wrinkle: Bun (acquired by Anthropic) runs a...
Simon Willison has been writing software for over 25 years. He's one of the most disciplined, transparent engineers in the Python ecosystem. And yesterday he published an essay admitting he no longer reviews every line of code that Claude Code generates for his production proj...
67 on coding against Fable 5.1's 70 in Claude Code. Astra does post a 2% hallucination rate against 9.4% for GPT-5.6 Sol, and 0% scope violations against 48%. Per-task cost runs the other way, $4.72 for Astra against $9.18 for Fable 5.1 at identical $10/$50 list pricing, and A...
After 20+ years maintaining Paint.NET, Rick Brewster concluded WINE's Direct2D would never be complete enough for what he needed, so the app now carries its own from-scratch reverse-engineered Direct2D implementation. He puts it at 180,000 lines against 700,000 for the rest of...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.