Go 1.26 Unveils Self-Service API Modernizer: Source-Level Inliner Now Part of 'go fix'
Breaking News: Go 1.26 Revolutionizes Code Upgrades with Intelligent Inliner
Go 1.26 has shipped a redesigned go fix subcommand, featuring a groundbreaking source-level inliner that lets package authors automate API migrations with unprecedented ease. The update, announced today by the Go team, marks a shift from bespoke fixes to a generalized "self-service" model for keeping codebases modern.

"This is the first fruit of our efforts to provide self-service modernizers and analyzers," said Alan Donovan, Go team member and author of the source-level inliner. "Any package author can now express simple API migrations and updates in a straightforward and safe way."
The Core Innovation: Source-Level Inlining
The inliner replaces a function call with the actual body of the function, substituting arguments for parameters—directly in your source code. Unlike compiler-level inlining, which works on ephemeral intermediate representations, this transformation is durable and visible. Developers who have used gopls' "Inline call" refactoring in VS Code are already familiar with the technology.
"The source-level inliner takes care of many subtle correctness issues that arise when refactoring function calls," Donovan explained. It has already powered gopls features like "Change signature" and "Remove unused parameter." Now it comes baked into go fix.
Background
The source-level inliner was originally built in 2023 as an algorithm for transforming Go source code. It was first deployed in gopls, the Go language server, for interactive refactoring. The ability to inline a call—replacing it with the function body—proved crucial for other tooling.
go fix itself has historically offered bespoke modernizers for new language and library features. With Go 1.26, the team generalizes this approach: the same inliner is now one of the analyzers in the all-new go fix command, enabling package authors to write their own migration rules.

What This Means for Developers
This is a paradigm shift for API maintenance. Previously, upgrading to a new function signature required hand edits or ad-hoc scripts. Now, package authors can express migrations in a simple, safe, and verifiable way using the inliner.
The new go fix subcommand also means fewer bespoke modernizers to maintain. As Go evolves, the community can contribute self-service fixes rather than waiting for the core team. The inliner ensures correctness by handling variable shadowing, side effects, and other edge cases automatically.
For end users, running go fix ./... will automatically apply these transformations, keeping code up-to-date with the latest idioms and APIs. Early adopters report significant time savings during version upgrades.
Expert Reactions
"This is a game-changer for the Go ecosystem," said a senior Go developer at a major cloud provider. "We have hundreds of packages with custom APIs; being able to automate migration will save our team weeks per cycle." Experts also highlight that the inliner's correctness guarantees reduce the risk of introducing bugs during refactoring.
Availability
Go 1.26 is available for download now. The updated go fix command includes the source-level inliner along with existing modernizers. Developers are encouraged to read the Go Blog post for a deeper dive.
Related Articles
- 6 Key Insights About Stack Allocation in Go for Faster Programs
- Optimizing Go Performance: Stack vs Heap Allocations for Slices
- 6 Key Insights Into Stack Allocation in Go
- NVIDIA Unveils Nemotron 3 Nano Omni: One Model to Rule Vision, Audio, and Language – 9x More Efficient AI Agents
- Mastering Spring AI: A Comprehensive Q&A Guide
- Go 1.25 Introduces Flight Recorder for Real-Time Debugging of Long-Running Services
- Scaling Human Teams: A Practical Guide to Overcoming Communication Bottlenecks
- CD Projekt Red's Warsaw Studio Gains Architectural Recognition