So what does Windows want for Christmas? Paul Thurrott is back to talk about everything that happened to Windows in 2025, and what that might hold for 2026. Paul talks about Pavan Davuluri being promoted to President of Windows & Devices - and reunifying the Windows Client and Windows Core teams. That sets up an opportunity to make some significant moves from Windows, which, of course, will involve AI - although the reaction to the public when Pavan said as much was not all that positive. Windows has plenty of problems to address, but one of the brighter notes is Windows on ARM and the Snapdragon processor. And maybe, just maybe, someone's wish will come true, and we'll see Windows 12!
This feels like as good a time as any to note that I am not as much of an extremist as people seem to think I am when it comes to Friday deploys, or deploy freezes in general.
(Sometimes I wonder why people think I’m such an extremist, and then I remember that I did write a post about murdering puppies. Ok, ok. Point taken.)
Take this recent thread from LinkedIn, where Michael Davis posted an endorsement of my Puppies article along with his own thoughts on holiday code freezes, followed by a number of smart, thoughtful comments on why this isn’t actually attainable for everyone. Payam Azadi talks about an “icing” and “defrosting” period where you ease into and out of deploy freezes (never heard of this, I like it!), and a few other highly knowledgeable folks chime in with their own war stories and cautionary tales.
It’s a great thread, with lots of great points. I recommend reading it. I agree with all of them!!
If you can’t move swiftly with confidence, you need workarounds
For the record, I do not believe that everyone should get rid of deploy freezes, on Fridays or otherwise.
If you do not have the ability to move swiftly with confidence, which in practice means “you can generally find problems in your new code before your customers do”, which generally comes down to the quality and usability of your observability tooling, and your ability to explore high cardinality dimensions in real time (which most teams do not have), then deploy freezes before a holiday or a big event, or hell, even weekends, are probably the sensible thing to do.
If you can’t do the “right” thing, you find a workaround. This is what we do, as engineers and operators.
Deploy freezes are a hack, not a virtue
Look, you know your systems better than I do. If you say you need to freeze deploys, I believe you.
Honestly, I feel like I’ve always been fairly pragmatic about this. The one thing that does get my knickers in a twist is when people adopt a holier-than-thou posture towards their Friday deploy freezes. Like they’re doing it because they Care About People and it’s the Right Thing To Do and some sort of grand moral gesture. Dude, it’s a fucking hack. Just admit it.
It’s the best you can do with the hand you’ve been dealt, and there’s no shame in that! That is ALL I’m saying. Don’t pat yourself on the back, act a little sheepish, and I am so with you.
I think we can have nice things
I think there’s a lot of wisdom in saying “hey, it’s the holidays, this is not the time to be rushing new shit out the door absent some specific forcing function, alright?”
My favorite time of year to be at work (back when I worked in an office) was always the holidays. It was so quiet and peaceful, the place was empty, my calendar was clear, and I could switch gears and work on completely different things, out of the critical line of fire. I feel like I often peaked creatively during those last few weeks of the year.
I believe we can have the best of both worlds: a yearly period of peace and stability, with relatively low change rate, and we can evade the high stakes peril of locks and freezes and terrifying January recoveries.
How? Two things.
Don’t freeze deploys. Freeze merges.
To a developer, ideally, the act of merging their changes back to main and those changes being deployed to production should feel like one singular atomic action, the faster the better, the less variance the better. You merge, it goes right out. You don’t want it to go out, you better not merge.
The worst of both worlds is when you let devs keep merging diffs, checking items off their todo lists, closing out tasks, for days or weeks. All these changes build up like a snowdrift over a pile of grenades. You aren’t going to find the grenades til you plow into the snowdrift on January 5th, and then you’ll find them with your face. Congrats!
If you want to freeze deploys, freeze merges. Let people work on other things. I assure you, there is plenty of other valuable work to be done.
Don’t freeze deploys unless your goal is to test deploy freezes
The second thing is a corollary. Don’t actually freeze deploys, unless your SREs and on call folks are bored and sitting around together, going “wouldn’t this be a great opportunity to test for memory leaks and other systemic issues that we don’t know about due to the frequency and regularity of our deploys?”
If that’s you, godspeed! Park that deploy engine and sit on the hood, let’s see what happens!
People always remember the outages and instability that we trigger with our actions. We tend to forget about the outages and instability we trigger with our inaction. But if you’re used to deploying every day, or many times a day: first, good for you. Second, I bet you a bottle of whiskey that something’s gonna break if you go for two weeks without deploying.
I bet you the good shit. Top shelf. 🥃
This one is so easy to mitigate, too. Just run the deploy process every day or two, but don’t ship new code out.
Alright. Time for me to go fly to my sister’s house. Happy holidays everyone! May your pagers be silent and your bellies be full, and may no one in your family or friend group mention politics this year!
💜💙💚💛🧡❤️💖
charity
Me and Bubba and Miss Pinky Persnickety
P.S. The title is hyperbole! I was frustrated! I felt like people were intentionally misrepresenting my point and my beliefs, so I leaned into it. Please remember that I grew up on a farm and we ended up eating most of our animals. Possibly I am still adjusting to civilized life. Also, I have two cats and I love them very much and have not eaten either of them yet.
2025 has been an amazing year for the global freeCodeCamp community. And we’re thrilled to cap it off with the launch of several Christmas Gifts for you:
Those are a lot of gifts to unwrap, so let's start unwrapping!
Programming Certifications and Version 10 of the Full Stack Development Curriculum
Over the past 11 years, the freeCodeCamp community has built and rebuilt our core programming curriculum several times.
We are finally approaching our vision of how comprehensive and interactive a programming curriculum can be.
Version 10 of our curriculum is a series of 6 certifications – each with more than a dozen projects that you'll build to solidify your fundamental skills.
At the end of each certification, you'll take a final exam. And if you can manage to pass this exam, you'll be awarded a free, verified certification. You can then embed that on LinkedIn, or add it to your résumé, CV, or portfolio website.
And we will release the Front End Libraries and Back End Development certifications in 2026.
After earning all 6 certifications, you can build a final capstone project – which will be code-reviewed by an experienced developer. Then you’ll sit for a comprehensive final exam. And upon completion of that, you'll earn our final Full Stack Developer Certification.
If you start progressing through these first four certifications today, the last two certifications should go live well before you reach them. After all, each of them represents hundreds of hours of conceptual computer science knowledge and hand-on programming practice.
Language Coursework
First, you may be asking: when did freeCodeCamp start teaching world languages?
Well, we started designing our English for Developers curriculum back in 2022. And over the past few years, we've expanded it considerably.
The curriculum involves interacting with hand-drawn animated characters. Along the way, you get tons of practice with reading, writing, listening, and (coming in 2026) speaking.
It's a story-driven curriculum. You step into the shoes of a developer who's just arrived in California to work at a tech startup. You learn grammar, vocab, tech jargon, and slang through day-to-day interactions while living your new life.
So far, two of these certifications are fully live:
We're also developing levels A1, B2, C1, and C2 for release over the coming years. (Yes, years. Each of these is a huge undertaking to develop.)
Not only has the freeCodeCamp community designed thousands of English lessons - we also built tons of custom software tools to make all this coursework possible. So in 2024, we asked: could we use the same tools to teach people Spanish and Mandarin Chinese?
And today, the results of this effort are now in public beta. We're starting out with A1 Level for both of these languages, and will ship the remaining levels over the coming years.
Aside from English, Spanish and Mandarin are two of the most widely-spoken languages in the world. You can use these languages to participate in tons of online communities, visit major cities, and even find new job opportunities.
Learning foreign languages is also excellent for your neuroplasticity, and can be done alongside learning other new skills like programming.
And now you can learn these languages for free, using our comprehensive end-to-end curriculum that was designed by teachers, translators, and native speakers.
Update on Translating freeCodeCamp’s coursework into major world languages
As you may know, freeCodeCamp has been available in many major world languages going back to 2020. But whenever we launch new coursework, it takes several months to translate everything.
Thankfully, machine translation has been steadily improving over the past few years.
The community is still translating tutorials and books by hand, but for something that changes as quickly as freeCodeCamp’s programming curriculum, we want to speed up the process.
We’ve conducted pilots of translating all the new coursework into both Spanish and Portuguese.
First, we used frontier Large Language Models and extensive glossaries and style guides to process the hundreds of thousands of words in our programming curriculum.
Then we had native speakers randomly sample these translations to ensure their quality.
Once we felt the translations were strong enough, we started creating data pipelines to automatically update translations as the original English text changed through open source code contributions.
The monetary cost of doing all this is not significant. So we should be able to offer freeCodeCamp’s programming curriculum in additional languages we weren’t previously able to support, such as Arabic and French.
If you are one of the hundreds of people who’ve contributed translations to freeCodeCamp over the years, we’d still welcome your help translating books and tutorials, which don’t change much after initial publication.
After all, the gold standard for localizing a document is having a single human translator holistically read and understand that document before creating the translation.
This community is just getting started.
This year the freeCodeCamp community also published:
129 free video courses on the freeCodeCamp community YouTube channel
45 free full length books and handbooks on the freeCodeCamp community publication
452 programming tutorials and articles on math, programming, and computer science
50 episodes of the freeCodeCamp podcast where I interview developers, many of whom are contributors to open source freeCodeCamp projects
We also merged 4,279 commits to freeCodeCamp’s open source learning platform, representing tons of improvements to user experience and accessibility. And we published our secure exam environment so that campers can take certification exams.
As a community, we are just getting started. Free open source education has never been more relevant than it is today.
We invite you to get more involved in the community, too.
I want to thank the 10,221 kind folks who donate to support our charity and our mission each month. Please consider joining them: Donate to freeCodeCamp.org.
On behalf of the global freeCodeCamp community, here’s wishing you and your family a fantastic finale to your 2025. Cheers to a fun, ambition-filled 2026.
TL;DR: Discover how Visual Studio 2026 revolutionizes coding with AI features like GitHub Copilot, adaptive paste, and smart debugging. Boost efficiency in IDE, MCP, Git, and cloud development for innovative app building.
Hey developers! The latest updates for Visual Studio 2026 (versions 18.0.0 to 18.1.1) have been unveiled. Microsoft has packed this release with AI features that will transform how you code, letting you focus on creating innovative solutions while boosting efficiency.
In this post, we’ll break down the key features by category, highlighting AI integrations that make coding smarter and faster. We’ll also sprinkle in practical examples to illustrate each new capability. Let’s jump in and start with improvements to the IDE itself.
IDE improvements that feel fresh
Visual Studio 2026 refines the core IDE to feel more intuitive and AI-aware.
A modern look you’ll love
You now get a refreshed Fluent UI with 11 new tinted themes. Enjoy customizable editor appearances and a modern settings experience that seamlessly roams your preferences across devices.
Customizing editor appearance in Visual Studio 2026
Setup Assistant saves hours
Missing .NET SDKs? No problem. The new Setup Assistant identifies dependencies and installs them with a single click. No more setup headaches, just code.
MCP enhancements for AI workflows
One standout feature is the MCP (Model Context Protocol) enhancements for managing AI server authentications. You can manage credentials for Microsoft or GitHub accounts in one place and even view server instruction files directly in VS. This feature is ideal for Copilot chats that require additional context.
MCP elicitation – Gets the user input via the chat window
Mermaid chart rendering
Ever wanted to visualize your architecture without leaving the editor? Now you can. Write Mermaid syntax in the Markdown Editor, hit the preview button, and Visual Studio generates visual charts from your syntax.
The following image shows the preloading assets in Blazor Web Apps using a sequence diagram.
Mermaid chart in VS 2026
Code coverage everywhere
We can now see the parts of our code that are tested across all editions of Visual Studio. It’s simple, clear, and helps you write better tests.
Code coverage feature in VS 2026
Productivity enhancements
You will love the productivity boosts in VS 2026; they put AI at your fingertips. Let’s explore!
Adaptive paste
Copy-paste just became smart. We can drop the code, hit the Tab key, and watch how it adapts. This feature fixes names, formatting, and even translates languages. It’s like magic for your clipboard.
Smart adaptive pasting with Copilot in VS 2026
Smarter code actions
Code actions now appear in the right-click menu with five dynamic options based on your selection. Plus, the WinForms Expert Agent guides you on modern patterns like MVVM or async/await. This feature is invaluable when you modernize legacy apps with Syncfusion controls.
Copilot actions display five options in the context menu
GitHub Copilot gets supercharged
GitHub Copilot evolves massively in VS 2026, changing how we collaborate with AI.
Cloud Agent for heavy lifting
The new GitHub Cloud Agent (in preview) enables you to delegate tasks, such as UI cleanups or refactoring the cloud for GitHub-connected projects. You can now review changes before creating PRs, ensuring you stay in control.
Context-aware chats
The Copilot pulls context from URLs you paste in chats, incorporating public web content for smarter responses. It also leverages remote indexes for improved code search and awareness of external symbols.
Refer to the following images.
Here, we are pasting a URL directly into the Copilot Chat prompt to get the details on the page.
Pasting URL into chat prompt
Then, you can see the web page is fetched and processed based on the prompt.
Fetching the webpage data using Copilot
Debugging and diagnostics made smarter
Debugging and diagnostics are no longer a manual grind. They’re intelligent, automated, and adaptive, with Copilot taking the lead so you can focus on crafting exceptional code.
Debug with Copilot
Debugging gets an AI overhaul; we can now troubleshoot smarter with Copilot, fixing unbound breakpoints by analyzing symbols and modules. The Debugger Agent automates unit test fixes: it hypothesizes causes, edits code, and re-runs until success.
To achieve this, we need to select the Debug with Copilot option on the failed test case.
Select the Debug with Copilot option
Then, debugging begins as shown in the following image.
Debugger showing results
Here, the exception analysis pulls repo history from GitHub or Azure DevOps for context-aware insights. The inline features display if-condition results, variables, and post-return values, along with AI breakdowns.
Inline variable result shown while debugging
Profiler Copilot Agent
The Profiler Copilot Agent analyzes CPU/memory, generates benchmarks, and suggests optimizations. We can use this to profile heavy apps.
Here are the reference images for your review.
Tag @ProfilerProfiler result after running the benchmark
You can also click the CodeLens of your Benchmark performance tests to find a one-click entry point to optimize allocations.
CodeLens optimization option
Benchmark project template
There is also a new Benchmark Project template that scaffolds a fully configured benchmarking project with built-in support for profiling and Copilot insights.
Benchmark project template in VS 2026
Next-level Git tooling
Managing code reviews and version control just got a major upgrade with Copilot’s Git integrations. From inline PR comments to intelligent suggestions, these enhancements make collaboration smoother and keep your workflow efficient.
Inline PR comments and reviews
Copilot now enhances code reviews by suggesting fixes for bugs or performance issues in local changes. You’ll notice the sparkle comment button in the Git Changes window, making it simple to add AI-powered review comments.
Sparkle comment buttonReviewing comments suggested by Copilot
We can streamline version control by using inline PR comments in the diff view, allowing you to view, edit, and render Markdown right there.
We need to enable both the Pull Request Comments and the Enable Git preview features to avail these PR commenting features.
Enabling the pull request commentsEnabling the Git preview features
Git context in Copilot chats
Copilot chats now understand Git context, letting you reference #changes or #commit for quick summaries. Navigation is easier too, thanks to the new list view in Git Changes.
Git context support in Copilot chats
Cloud and .NET related updates
Podman support
Finally, cloud dev supports Podman for containers, making you runtime-agnostic.
Set Podman as your container runtime
Full .NET 10 and C#14 support
Visual Studio 2026 now fully supports .NET 10 and C#14, unlocking powerful new language features and performance improvements. You can build faster .NET 10 apps with AI-assisted cloud deployments, and MCP enhancements make cloud AI workflows even smoother.
Here’s a quick example from C#14 using params spans in ASP.NET Core on .NET 10:
public void ProcessData(params ReadOnlySpan<string> items)
{
// Use Syncfusion PDF component to generate report
using var pdfDoc = new Syncfusion.Pdf.PdfDocument();
pdfDoc.Pages.Add()
.Graphics.DrawString(
string.Join(", ", items),
new PdfStandardFont(PdfFontFamily.Helvetica, 12),
PdfBrushes.Black,
new PointF(0, 0)
);
}
Ready for VS 2026? Syncfusion has you covered
Syncfusion® Essential Studio 2025 Volume 4 is now available, offering comprehensive support for Visual Studio 2026. Upgrade confidently and enjoy a smooth, hassle-free development experience.
Wrapping up
Thanks for reading! Visual Studio 2026 puts AI at the heart of development, letting you focus on creativity while it handles repetitive tasks. If you’re using these features, they will amplify your productivity in Blazor, ASP.NET Core, and beyond.