Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
149373 stories
·
33 followers

Azure Developer CLI Adds AI Agent Extension for Foundry Deployments

1 Share
Microsoft introduced a new azd AI agent extension that lets developers build and deploy Microsoft Foundry agents directly from their local development environments.
Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Snapdragon Control Panel Improves the Gaming Experience on Windows 11 on Arm

1 Share

The Snapdragon Control Panel optimizes games for the Snapdragon X/Arm platform and provides the latest graphics drivers.

The post Snapdragon Control Panel Improves the Gaming Experience on Windows 11 on Arm appeared first on Thurrott.com.

Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

How we’re making GitHub Copilot smarter with fewer tools

1 Share

In VS Code, GitHub Copilot Chat can access hundreds of tools through the Model Context Protocol (MCP) that range from codebase analysis tools to Azure-specific utilities. But giving an agent too many tools doesn’t always make it smarter. Sometimes it just makes it slower. 

If you’ve ever seen this spinner in VS Code, you’ve hit the limits of a model that’s trying to reason across too many tools at once.

Screenshot of a spinner next to the words "Optimizing tool selection..."

To fix that, we’ve built two new systems—embedding-guided tool routing and adaptive tool clustering—and we’re rolling out a reduced toolset that trims the default 40 built-in tools down to 13 core ones. Across benchmarks like SWE-Lancer and SWEbench-Verified with both GPT-5 and Sonnet 4.5, these changes improve success rates by 2-5 percentage points. In online A/B testing, it reduces response latency by an average of 400 milliseconds.  

Too many tools impede agent intelligence   

The default toolset in VS Code consists of about 40 built-in tools, ranging from general command-line utilities to specialized tools for Jupyter Notebooks. With MCP servers included, that number can grow into the hundreds. Often, MCP servers bring in so many tools that they can exceed the API limits of some models.  

We’ve explored ways to filter down our toolset to provide only the tools most relevant to the user’s query, while not restricting the agent’s capabilities. Specifically, we needed to make sure we didn’t sacrifice the user’s experience to achieve lower latency. 

To accomplish this, we designed a middle-ground approach: “virtual tools.” This includes functionally grouping similar tools under one “virtual tool” the chat agent can expand as needed. Think of these as directories that contain related tools. This gives the model a general sense of what’s available without flooding it with hundreds of tool names. It also reduces the cache miss rate we’d expect if the model searched for individual tools, since it’s likely that similar tools are used and activated together.  

Applying lossless dynamic tool selection for MCP tools  

Adaptive tool clustering  

Initially we fed all the available tools into an LLM and asked it to group and summarize them. But this had two big issues:   

  • We couldn’t control the number of groups created, and it sometimes exceeded model limits   
  • It was extremely slow and incurred a huge token cost. The model would also sometimes ‘forget’ to categorize certain tools, forcing retries  

To tackle this issue, we applied our internal Copilot embedding model optimized for semantic similarity tasks to generate embeddings for each tool and group them using cosine similarity. This clustering method allowed precise, stable, and reproducible groups. As an example, here is one possible grouping of embeddings for the GitHub MCP server’s tools in the embedding space:  

A clustering chart showing groupings of embeddings for the GitHub MCP server's tools: create_pending_pull_request_review, get_issue_comments, create_branch, get_me, and list_tags.

We still use a model call to summarize each cluster, but this step is much faster and cheaper than asking the model to categorize everything from scratch. Tool embeddings and group summaries are cached locally, so recomputing them is comparatively cheap.  

Context-guided tool selection  

Once tools were grouped, we faced another problem: how does the model know which group to open without checking them all? We saw that, most of the time, the model would eventually find the right tool for its task. However, each call to a virtual tool still results in a cache miss, an extra round trip, and an opportunity for a small percentage of agent operations to fail. 

For example, when the user says: “Fix this bug and merge it into the dev branch.” 

The model often opens search tools, then documentation tools, then local Git tools, before finally realizing that it actually needs the merge tool inside the GitHub MCP tool group to complete the operation. 

Each incorrect group lookup adds latency and overhead, even though the correct group is fairly obvious from the context. 

To address this, we introduced Embedding-Guided Tool Routing. Before any tool group is expanded, the system compares the query embedding against vector representations of all tools (and their clusters), allowing it to pre-select the most semantically relevant candidates—even if they’re buried deep inside a group. 

With context-aware routing, we can infer from the beginning that the model is very likely to need the merge tool inside the GitHub MCP tool group, and include it directly in its candidate set—eliminating unnecessary exploratory calls and significantly reducing latency and failure rates. 
 
By surfacing only the most promising matches, we make the model’s search more targeted and reliable, while reducing redundant exploration. 

Embedding-based selection (powered by the Copilot Embedding model)  

We calculate the success of our embedding-based selection process via Tool Use Coverage, which measures how often the model already has the right tool visible when it needs it. 

In benchmarks, the embedding-based approach achieved 94.5% Tool Use Coverage, outperforming both LLM-based selection (87.5%) and the default static tool list (69.0%).  

Offline, this approach resulted in a 27.5% absolute improvement in coverage, clearly surpassing the LLM-based method while helping the agent reason faster and stay efficient.  

Online testing shows the same pattern: only 19% of Stable tool calls were successfully pre-expanded using the old method, whereas 72% of Insiders tool calls were pre-expanded thanks to the embedding-based matching. This confirms that the gains observed offline are consistently reflected in real-world usage. 

A bar graph showing coverage rates. Embedding based is highest with 94.5%, followed by GPT-4.1 based at 87.5% and Default tools at 69%.

Less is more: shrinking the default toolset   

Even without hitting the model limits that massive MCP servers can trigger, an oversized built-in toolset still degrades performance. In offline benchmarks, we observed a 2–5 percentage point decrease in resolution rate on benchmarks including SWE-Lancer when the agent had access to the full built-in toolset. Behaviorally, the agent ends up ignoring explicit instructions, using tools incorrectly, and calling tools that are unnecessary to the task at hand.  

So, we trimmed the list. Based on tool usage statistics and performance data, we identified a core toolset of 13 essential tools. These tools encompass high-level repository structure parsing, file reading and editing, context searching, and terminal usage.  

The remaining, non-core built-in tools are grouped into four virtual categories: Jupyter Notebook Tools, Web Interaction Tools, VS Code Workspace Tools, and Testing Tools. This way, the model sees the smaller core set up-front and can expand groups only if necessary. As a result, users with the shrunken toolset experience an average decrease of 190 milliseconds in TTFT (Time To First Token), and an average decrease of 400 milliseconds in TTFT (Time to Final Token, or time to complete model response).

A smaller toolset enables the agent to be more effective: simpler reasoning, faster response times, and better performance.  

Future directions: from tool selection to long-context reasoning  

As MCP systems evolve, the challenge isn’t just picking the right tool—it’s reasoning across time, context, and interactions.   

A truly intelligent model shouldn’t just react to queries; it should remember previous tool usage, infer intent from history, and plan multi-step actions over long sessions. In this sense, tool selection is an early form of long-context reasoning. The same mechanisms that help models route to the right tool today could, in the future, help them reason across thousands of turns helping them decide when to act, when to delegate, and when to stop.   

Our next step is to explore how embeddings, memory, and reinforcement signals can combine to create context-aware agents that learn how to use tools, not just which ones to pick.

Want to see how Copilot uses MCP tools in action? Try GitHub Copilot now >

Acknowledgments  

A big shoutout to our developer community for continuing to give us feedback and push us to deliver the best possible agent experiences with GitHub Copilot. A huge thanks also to Zijian Jin, a researcher on the team who helped to write this blog—and to the researchers, engineers, product managers across VS Code and GitHub Copilot for this work.  (Also: We’re hiring applied researchers and software engineers, so feel free to apply!)

The post How we’re making GitHub Copilot smarter with fewer tools appeared first on The GitHub Blog.

Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Windows 365 updates | AI‑Ready Work, Apps on Demand, Resilient Access

1 Share

Automate real work, modernize app delivery, and keep users productive from any device with Windows 365 for Agents. Assign AI agents their own Cloud PCs to complete tasks in your apps and workflows using natural-language instructions to eliminate fragile UI-based automation and accelerate scalable, resilient processes across your organization. 

Publish individual Cloud Apps instead of full desktops to simplify management, modernize legacy applications, and deliver consistent experiences to any device. And if a device breaks, is lost, or needs repair, Windows 365 Reserve lets you instantly provide users with a secure, temporary Cloud PC, restoring productivity in minutes while reducing IT overhead. 

Scott Manchester, Windows 365 Vice President, joins Jeremy Chapman to show how you can streamline automation, app delivery, and business continuity with the latest Windows 365 updates. 

Publish just the apps users need.

Across any device, with consistent settings and security, no full desktops required. Take a look at Windows 365 Cloud Apps

Deliver cloud-hosted apps seamlessly. 

Simplify migrations and enable flexible access. Check out Windows 365 Cloud Apps.

Provision, use, and return business-ready Cloud PCs in minutes. 

Restore productivity fast with Windows 365 Reserve. Get started.

QUICK LINKS: 

00:00 — Updates for Cloud PCs with Windows 365 

00:47 — Computer-using agents 

02:27 — Build a computer-using agent 

04:46 — Managing Windows 365 for Agents 

05:26 — Windows 365 Cloud Apps 

08:16 — Access published Cloud Apps in Windows 365 

09:53 — Windows 365 Reserve 

11:13 — Provisioning 

12:24 — Deprovision and Self-Provision 

13:12 — Wrap up

Link References 

Check out https://aka.ms/windows365blog

Unfamiliar with Microsoft Mechanics? 

As Microsoft’s official video series for IT, you can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft. 

Keep getting this insider knowledge, join us on social: 


Video Transcript:

- If you're using Cloud PCs with Windows 365 inside your organization, today, we'll walk through three major updates. Starting with the new Windows 365 for Agents, to enable AI agents to have their own provisioned Cloud PC, that can open apps, process data, and automate tasks. Followed by Cloud app support, where as you work, the service can now deliver just the app window, not the entire desktop, as Windows 365 Cloud Apps managed by Microsoft Intune. And if you've ever needed a temporary business-ready PC as a short term backup device, now there's a new option to solve for this too. Joining me today is Scott Manchester, once again, he leads the Windows 365 development team. Welcome back.

- Thanks Jeremy, great to be back.

- So there's a lot to cover today, There's Windows 365 for Agents, we've also got Cloud Apps and Reserve. Why don't we start with something brand new though, AI that can be used with Windows 365 as a desktop environment.

- Sure, and this is a totally new type of AI called computer-using agents or CUA. With Windows 365 for Agents, you can assign an agent a Cloud PC to provide access to the apps and resources it needs to do a job, just as you would a person, and we're building an agent-ready platform with Windows 365 to make that possible. Now let's say you want an agent to do an expense report for employees. As an admin, you can create a pool of Cloud PCs which are ready for the agent to use to complete jobs. Each Cloud PC in the pool would have the Expense app pre-installed in addition to being connected to the network to get the resource it needs. Now this way, when a user invokes the agent with instruction, the agent will first send a request to get a Cloud PC from the pool for its task. This gives the agent what it needs to do the job. From there, it can get to work, reasoning over receipts from the travel database, extracting details, and entering them into the Expense app for you. Importantly, as a human user, you can see and even interact with the agent as needed in real time to unblock its path to completing a task, even taking over when required, leaving the agent to pick up where it left off and finish the job. At the end, it will circle back to you and confirm that it has completed its task and we'll check in the Cloud PC, returning it back to the pool so that it's ready for the next user request that might come. Desktop automation tasks can be formed using your installed apps or even websites via browser.

- So how easy is it then as a maker to use Windows 365 and build a computer-using agent?

- It's super simple, Jeremy. We provide a built-in workflow for you to design, test and deploy computer-using agents to run securely on Cloud PCs. Let me give you an example, to automate the discovery of public RFPs to submit bids on open work. In Microsoft Copilot Studio, as an agent maker, to build one from scratch, you click on Create Computer Using Agent. This sets up a Windows 365 for Agents environment for it to use. In the next step, I've already pasted in the automation instructions to save time. These instructions are in natural language, the same way I described them to a person on my team. Now next I need to add the rest of the details, like the agent name and description. For this agent, I can skip down to machines, where instead of a hosted browser, I'll choose the right Cloud PC pool. That's really all that's needed to set everything up. And just to make sure that your instructions provide the right level of detail, you can test it out at any time. You just need to click the Test button. That establishes the connection to the Windows 365 for Agents Cloud PC. And you can see as it walks through the steps outlined in your instructions. We can see that it's opening Edge, then navigating to the public notice site, then entering energy as a search term, then narrowing down the date and grabbing the lines of data it needs, then it closes the browser. Now that did exactly what was instructed. Once happy with the results, you can publish the agent and move on to automating when it runs using triggers. For example, in this case, I'll trigger it to run two times per day and triggering the frequency is fully adjustable. Now of course, you can continue to refine and iterate on the agent and what it does, add tasks or change the automation trigger as needed. And once everything has been running for a while, you can see the activities performed during each run. And clicking into one shows you the logic of how it's run, including timings per step and with Transcript, you can even see screenshots for each step that was taken in the process.

- It was great to see how easy that was to do and build, you know, using pretty simple instructions, you know, versus I think the traditional way that a lot of us are used to, which is coordinate based automation, which is a lot less resilient to UI changes. So what does IT need to configure then to get everything to work?

- Well, everything can be done right in Intune. This is the one place where you can manage all of your physical desktops, mobile devices, as well as your Cloud PCs. For example, you can make sure that Windows 365 for Agents Cloud PC pools are governed using new or existing policies. Additionally, billing elements are managed using the Power Platform admin center.

- So it's great to see that configuring and managing Windows 365 for Agents is really consistent with the other Windows 365 workflow. So why don't we switch gears though to something else I think a lot of people are pretty excited about, which is Cloud Apps. So how should we think of those?

- Right, this is a new capability with a number of advantages. First, by using Windows 365 Cloud Apps, you can now deliver individual app windows instead of the full desktop. And second, this is the first full SaaS app publishing solution that uses the same tools that you use today to manage the rest of your devices. Let me show you. In the Intune Admin Center from the Windows 365 page, you'll start with a provisioning policy. I'll give mine a name, Zava Cloud Apps. Now the experience control here is what triggers the app-only view, and this setting makes a few downstream decisions in the policy as well. Importantly, the license type was set to frontline, and these don't need to be just for frontline users, it can work for anyone in your organization. And the frontline mode was also set to shared, the other options are grayed out and disabled. Then, like any provisioning policy, you can add join type details, network, geography, region, and single sign-on preferences. And from there, you can choose the image and I'll use the gallery image with the Microsoft 365 apps pre-installed. Now let me pause for a second to explain a few things in the Configuration tab. First is the Windows Autopilot device preparation policy. This is what you'll use to add additional apps and configurations into a shared Cloud PC, and these will be installed before the users can connect to the Cloud Apps. I'll select this one for Zava. We've also added a new option for user experience sync and you can choose user storage size allocations. Now this is just for the user specific app data and not the entire user profile, so this 4 gig option should be more than enough. Now remember this is a non-persistent pool of Cloud PCs, so you could be assigned a different Cloud PC each time you launch an app. So this setting will sync user app data and key window settings for consistent experiences as people are assigned different underlying Cloud PCs. From there you have the options to define tags, and then, assign the right groups for who will be in scope for this provisioning policy. I'll pick the Zava LT in this case. Then I'll select my Cloud PC size and I'll choose this frontline spec, add the assignment name and two for the number of Cloud PCs. Then I just need to confirm, and that's it. By the way, if you launch more than one app from a Cloud PC derived using the same provisioning policy, all of those apps will run in the same Cloud PC instance. And now there's just one more step, which is deciding which apps inside of those Cloud PCs should be surfaced to the users in that group. From the Windows 365 management, you'll use the all Cloud Apps tab. These are all of the detected apps in the running Cloud PCs. To publish another app, you can select one or more here that are ready to publish and just hit the Publish button on top. And the apps then will be available to anyone in that group. And this is also ideal for migrating on-premises apps to the Cloud to reduce complexity.

- Right, so it's a lot of flexibility and it's pretty simple to set up compared to other options. Why don't we explain though how users then would access those published Cloud Apps?

- Well, the good news is that these work across any device you use and there are a few ways to access them, in fact, since you're a member of the group, why don't we take a look at this experience on your laptop?

- Sounds good, so here I'm actually running a Windows device, but it could be a Mac or a mobile device as well. So, first, from the Windows app, you can get to all of your Windows 365 Cloud Apps and your Cloud PCs, and the Windows app works on macOS, iOS, Android, and, of course, Windows like you're seeing here. And there's now a new Apps page where you can access published apps. You can also access Cloud Apps, by the way, from the browser as well. There are also a few more integrations specific to Windows. So if I open up start, I can see the Cloud Apps that are pinned in my start menu and each one of these show my company name and also my work email. And if I open one, it looks like a local app that I can move around, I can resize it, the window has rounded corners so it's seamless. Additionally, because it's got user experience sync enabled, the app theme is consistent and I'm signed in with my Microsoft 365 work account so I can access my work resources and I'm ready to go. So just to compare this, if I open up a local browser window, you can see that they look almost identical, except the local one as you can see is running ARM64 because this is a Copilot+ PC and the Cloud app window is running Edge with X64 or 64-bit. And as we saw, it's just the app window and not the entire desktop, so it's seamless. So now why don't we move on to Windows 365 Reserve? I know you and I have done a lot of desktop support over the years and it's not so fun when say a managed user machine breaks, then we have to go into the storage room, we've got to potentially re-image and patch that device and give it back to that person in a business-ready state while we repair their PC. This process got a lot more complicated as people started to work more hybrid these days.

- Exactly. Well, we're making things a lot easier now. With Windows 365 Reserve, we help remove that pain. You can quickly give your users 10 days of temporary Cloud PC access from any device anywhere for just $20 per user per year in the US. Now it's easy to set up and fast to deploy when you need it. Ideal for those scenarios when a machine breaks, it helps you get the user productive again as soon as possible without compromising security. Now again, from Windows 365 management, I'll create a simple provisioning policy. Add the name and choose Reserve as the license type. It's simpler because we've streamlined the options. You just need to choose a geography and language settings. It uses the Microsoft network and machines need to be interjoined. Images available are gallery images and are automatically kept up to date. Now I'll keep what's here, then finally you'll add the groups you want to assign the Reserve licenses to. Now you have Windows 365 Reserve set up and later once a user needs a temporary Cloud PC, back in Intune using the provisioning policy that I created before, under the Cloud PC Users tab, we can see that your account, Jeremy, is already provisioned. To do another, I can choose another account, mine in this case, then confirm using the provisioning button. Now this is accessible for users with a Windows app or browser on any device and it has all of your apps, configurations, and security policies ready to go. And it normally takes a few moments to complete, but since you're already provisioned, why don't you show this experience from your laptop again?

- Sure, so it's already available on my device. Last time I was showing the Apps tab. So in the Windows app, I can see there's a Reserve Cloud PC and I can see the number of days that are available to use it or my deadline in this case. And I still have nine days remaining. So when I connect, you'll see the Reserve instance is fully business ready, it's got all of my apps and things that I need. And once I no longer need the Reserve Cloud PC, right back from the Windows app, I could return it myself to save the eight remaining days that I have left, but I won't just yet. This means that I can now access my work environment if I ever need it securely from any device. That said, Scott, what if a user like me in my case didn't return that Cloud PC back?

- Well, that can happen occasionally. In that case, as an admin, you can also return the Reserve Cloud PC on behalf of your user. From the provisioning policy, you just need to select the Cloud PC instance. Then deprovision now to confirm and keep the remainder of the days left for the user's reserve instance. And we're working on a self-help option from the Windows app so that an authorized user can self-provision a Reserve Cloud PC on their own when they need it. And this will save admin's time and avoid unnecessary support calls.

- And I can see this really coming in handy for things like cybersecurity incidents, device loss or repair, and a lot more, and these are all really big updates.

- Yeah, and there's a lot more to come, Jeremy. We'll continue to see more convergence between the AI and desktop experiences, so watch this space.

- So where can people who are watching right now find out more with everything you've shown today?

- Easy. To learn more, check out aka.ms/windows365blog for all the updates.

- Thanks so much for joining us today, Scott, and thank you for joining us as well. Now be sure to subscribe to Microsoft Mechanics for all the updates and we'll see you again soon.

Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Learning Zone: made to engage, built for student growth

1 Share

Educators are finding new ways to make learning more engaging, inclusive, and connected. That is where Microsoft Learning Zone comes in, an AI-powered app on Copilot+ PCs that helps educators design interactive lessons that spark curiosity and active learning.

Early feedback shows that Learning Zone helps save time while supporting personalized lessons that adapt to students’ needs and keep them engaged through interactive slides, exercises, and real-time feedback. Educators also value how the app supports high-quality classroom activities built on their existing teaching materials and a built-in gallery of free, trusted partner content, making it easier to create meaningful and inclusive learning experiences for every student.

Designing interactive lessons that truly capture students’ attention can take hours of work. Learning Zone changes that by letting educators set goals and standards, review and refine what AI creates, and bring their expertise and creativity to make each lesson their own while AI takes care of the heavy work.

 

Designed for Copilot+ PC

Learning Zone is included with all Microsoft Education licenses (A1, A3, A5). AI-powered lesson creation is built for Copilot+ PCs. These thin, light, and secure Windows 11 devices are great for education, combining powerful on-device AI with all-day battery life1 and advanced security. They help educators create lessons, adapt materials, and collaborate seamlessly, whether in the classroom, staff room, or at home.

AI is integrated into familiar Microsoft 365 apps, allowing educators to use their own words to prepare lessons, translate content for families, or summarize insights from student work. Features such as Click to Do2, improved Windows Search3, and the enhanced Snipping Tool make lesson preparation, review, and feedback faster and more intuitive.

5 ways Learning Zone is getting even better

As we approach general availability, these updates make it easier to create engaging learning experiences:

Simplified lesson creation - Educators can describe their lesson goal, standards, and age group, and Learning Zone generates a ready-to-teach lesson outline that can be easily scanned and refined. Using AI, educators can adapt and personalize each section based on their pedagogical needs and guidelines before creating the full interactive lesson.

Expanded language support - The app interface is already available in more than 50 languages. With general availability, educators will be able to generate interactive lessons in English and Spanish, with Portuguese, French, German, Polish, Dutch, Japanese, and additional languages coming throughout 2026.

Rich and interactive activities - Each interactive lesson includes a variety of activity types that help students think, practice, and apply what they learn. Today, educators can use multiple choice, true or false, and fill in the blank exercises, along with content slides that support images and videos. Soon, Learning Zone will expand to include matching, sorting, and drag to group activities, giving educators more ways to create meaningful, engaging learning experiences.

New learning partners - Educators can explore ready-to-learn lessons created with the Nobel Peace Center, PBS NewsHour, and the World Wildlife Fund (WWF), alongside NASA, OpenStax, Figma, and Minecraft Education. They can also quickly generate Kahoot! quizzes with AI to extend their lessons and boost engagement.

Accessible learning anywhere - Educators can share lessons directly in Microsoft Teams, and students can play them from any device, so learning can happen in class or at home. Starting in 2026, Learning Zone will also support integration with Learning Management Systems (LMS) using Learning Tools Interoperability (LTI™), making it easier to connect with existing classroom tools.

 

Global citizenship with the Nobel Peace Center

We are proud to collaborate with the Nobel Peace Center to bring the stories and values behind the Nobel Peace Prize to today’s learners. Together we are launching a new collection of lessons in Learning Zone that help students explore what peace, justice, and human rights mean in their own lives and communities.

Each lesson promotes reflection, collaboration, and creativity, and is supported by a companion world in Minecraft Education where students can extend their learning through hands-on design and problem-solving.

The lessons highlight Nobel Peace Prize laureates such as Malala Yousafzai, Wangari Maathai, and the 14th Dalai Lama, inspiring students to build empathy, think critically, and understand their role as global citizens who can shape a more peaceful and sustainable world.

 

Looking ahead

Learning Zone’s move to general availability this December is just the start. We will continue to learn from educators and evolve the experience to make teaching more engaging and learning more personal.

Learning Zone is now available to download from the Microsoft Store. If your school plans to explore it before January 2026, ask your IT administrator to enable the app so your educators can get started. View setup instructions here.

Join us at Bett 2026 in London to experience Copilot+ PCs, Microsoft Learning Zone, and other AI-powered tools for teaching and learning. We look forward to connecting with you and sharing how AI can help every educator inspire their learners in new ways.

 

 

Footnotes:
1. Battery life varies significantly by device and with settings, usage, and other factors. See Copilot+ PC claims.
2. Click to Do (preview) available image and text actions vary by device, region, language, and character set. Subscription required for some actions. See Copilot+ PC FAQs.
3. Improved Windows search works with specific text, image, and document formats only; optimized for select languages (English, Chinese (Simplified), French, German, Japanese, and Spanish). See Copilot+ PC FAQs.

Read the whole story
alvinashcraft
51 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Jetpack Navigation 3 is stable

1 Share
Posted by Don Turner - Developer Relations Engineer



Jetpack Navigation 3 version 1.0 is stable 🎉. Go ahead and use it in your production apps today. JetBrains are already using it in their KotlinConf app


Navigation 3 is a new navigation library built from the ground up to embrace Jetpack Compose state. It gives you full control over your back stack, helps you retain navigation state, and allows you to easily create adaptive layouts (like list-detail). There's even a cross-platform version from JetBrains


Why a new library?

The original Jetpack Navigation library (now Nav2) was designed 7 years ago and, while it serves its original goals well and has been improved iteratively, the way apps are now built has fundamentally changed. 


Reactive programming with a declarative UI is now the norm. Nav3 embraces this approach. For example, NavDisplay (the Nav3 UI component that displays your screens) simply observes a list of keys (each one representing a screen) backed by Compose state and updates its UI when that list changes. 


Figure 1. NavDisplay observes changes to a list backed by Compose state.


Nav2 can also make it difficult to have a single source of truth for your navigation state because it has its own internal state. With Nav3, you supply your own state, which gives you complete control.


Lastly, you asked for more flexibility and customizability. Rather than having a single, monolithic API, Nav3 provides smaller, decoupled APIs (or "building blocks") that can be combined together to create complex functionality. Nav3 itself uses these building blocks to provide sensible defaults for well-defined navigation use cases. 


This approach allows you to: 



Read more about its design and features in the launch blog


Migrating from Navigation 2

If you're already using Nav2, specifically Navigation Compose, you should consider migrating to Nav3. To assist you with this, there is a migration guide. The key steps are: 


  1. Add the navigation 3 dependencies

  2. Update your navigation routes to implement NavKey. Your routes don't have to implement this interface to use Nav3, but if they do, you can take advantage of Nav3's rememberNavBackStack function to create a persistent back stack. 

  3. Create classes to hold and modify your navigation state - this is where your back stacks are held. 

  4. Replace NavController with these classes.

  5. Move your destinations from NavHost's NavGraph into an entryProvider.

  6. Replace NavHost with NavDisplay.


Experimenting with AI agent migration

You may want to experiment with using an AI agent to read the migration guide and perform the steps on your project. To try this with Gemini in Android Studio's Agent Mode:


  • Save this markdown version of the guide into your project. 

  • Paste this prompt to the agent (but don't hit enter): "Migrate this project to Navigation 3 using ".

  • Type @migration-guide.md - this will supply the guide as context to the agent. 


As always, make sure you carefully review the changes made by the AI agent - it can make mistakes! 


We'd love to hear how you or your agent performed, please send your feedback here.


Tasty navigation recipes for common scenarios

For common but nuanced use cases, we have a recipes repository. This shows how to combine the Nav3 APIs in a particular way, allowing you to choose or modify the recipe to your particular needs. If a recipe turns out to be popular, we'll consider "graduating" the non-nuanced parts of it into the core Nav3 library or add-on libraries. 


Figure 2. Useful code recipes can graduate into a library.


There are currently 19 recipes, including for: 



We're currently working on a deeplinks recipe, plus a Koin integration, and have plenty of others planned. An engineer from JetBrains has also published a Compose Multiplatform version of the recipes.


If you have a common use case that you'd like to see a recipe for, please file a recipe request


Summary

To get started with Nav3, check out the docs and the recipes. Plus, keep an eye out for a whole week of technical content including: 


  • A deep dive video on the API covering modularization, animations and adaptive layouts.

  • A live Ask Me Anything (AMA) with the engineers who built Nav3.


Nav3 Spotlight Week starts Dec 1st 2025. 


As always, if you find any issues, please file them here.
Read the whole story
alvinashcraft
52 minutes ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories