\n
Oof… in the weeks after Microsoft’s Build 2024 conference, seems everyone in Redmond headed out on vacation and we’re in the valley of the news cycle. However, I did find a few things of interest…
\n📺 The SharePoint Embedded team has started a series on the service now that it’s reached the Generally Available milestone. The first installment on June 11 was more of an overview session. The next one, “Getting Started” is coming up on July 11.
\n🐞 Microsoft Teams tabs are losing the previously set settings for tabs created with SPFx. Microsoft’s solution: use Classic Teams. Uh… so what’s the suggestion when Classic Teams goes away in 6 days on July 1, 2024?
\n🩺 Need to debug your SPFx solutions in production? Learn how to integrate JavaScript sourcemaps in your newer SPFx projects (v1.18+).
\n🔐 If you liked my last newsletter on securing your SPFx solutions, you’ll love Markus’ article that walks you through creating a solution using this pattern.
\nThis new segment lists the recent articles & videos I've published on my site & YouTube channel.
\n📄 How to Fix the SPFx Error: 'Cannot find module node:os' - Learn to fix the SharePoint Framework error 'Cannot find module node:os'. Understand the root cause and the simple solution: running npm install.
\n📄 Multiple Node.js Installs with NVM and Global Packages - Explore the power of the Node Version Manager (NVM) in managing multiple Node.js installs for diverse SharePoint and Teams Toolkit projects.
\n📺 Should your next Microsoft 365 app be a SPFx web part, SPA, or Teams app? - Explore the process of choosing the right Microsoft 365 app. This is the decision tree I consider for SPFx web parts, SPAs, and Teams Apps.
\n📺 What You Need to Know - M365 Developer Program in 2024 - Understand the recent changes in the Microsoft365 Developer Program, why they were made, and when you can get a free #M365 developer/sandbox tenant again.
\n📺 Setting the SharePoint Framework Hosted Workbench Test Site - Why doesn't the SharePoint hosted workbench load for new projects? You probably forgot to do this one small step when you set up your dev environment.
\n\n","recentPosts":[{"id":9769977,"title":"🤖 The 4 layers every M365 Copilot developer should know","slug":"what-happens-when-you-hit-enter-in-m365-copilot","status":"published","readingTime":4,"campaignCompletedAt":"2025-07-22T17:01:06.000Z","publishedAt":"2025-07-22T17:01:06.000Z","orderByDate":"2025-07-22T17:01:06.000Z","timeAgo":"6 days","thumbnailUrl":"https://embed.filekitcdn.com/e/sxVXYZfPgzAM2JBx2TvJdt/aADUNpGv3aKCWkdrvYPxnM","thumbnailAlt":"How to Add TypeSpec to M365 Copilot Declarative Agent Projects","path":"posts/what-happens-when-you-hit-enter-in-m365-copilot","url":"https://newsletter.voitanos.io/posts/what-happens-when-you-hit-enter-in-m365-copilot","isPaid":null,"introContent":"In today's issue: Understanding how M365 Copilot works, so you can... ... learn how you can customize & extend it with agents Huge zero-day vulnerability for SharePoint on-prem customers! and more... Ever wondered what actually happens when you hit ENTER on a Microsoft 365 Copilot prompt? If you're planning to extend Microsoft 365 Copilot for your organization, understanding how it works under the hood changes everything about your approach to customization. From my workshops and conference...","campaignId":20295949,"publicationId":16868554,"metaDescription":"Learn how Microsoft 365 Copilot processes prompts, grounds data, & generates responses. Essential knowledge for devs building M365 Copilot extensions!"},{"id":9607014,"title":"👨💻 TypeSpec: The game-changer for Microsoft 365 Copilot declarative agents","slug":"stop-writing-tedious-json-yaml-files-for-microsoft-365-copilot-agents","status":"published","readingTime":6,"campaignCompletedAt":"2025-07-08T17:01:31.000Z","publishedAt":"2025-07-08T17:01:31.000Z","orderByDate":"2025-07-08T17:01:31.000Z","timeAgo":"20 days","thumbnailUrl":"https://embed.filekitcdn.com/e/sxVXYZfPgzAM2JBx2TvJdt/9ewPm4quVXQHvZFch6r13e","thumbnailAlt":"TypeSpec 101: Building Microsoft 365 Declarative Agents","path":"posts/stop-writing-tedious-json-yaml-files-for-microsoft-365-copilot-agents","url":"https://newsletter.voitanos.io/posts/stop-writing-tedious-json-yaml-files-for-microsoft-365-copilot-agents","isPaid":null,"introContent":"In today's issue: How TypeSpec improves productivity when creating custom declarative agents for M365 Copilot ... what's new with M365 Copilot, Teams & Azure AI Foundry ... the M365 Copilot Retrieval API now in public preview and more... If you've been creating Microsoft 365 Copilot Declarative Agents (DAs), you know the pain of juggling multiple JSON and YAML files - the declarative agent manifest, plugin manifest, and OpenAPI Description (OAD) files. These hand-written configuration files...","campaignId":20103622,"publicationId":16674973,"metaDescription":"Microsoft's new TypeSpec language replaces error-prone config files with strongly-typed syntax that includes IntelliSense and validation."},{"id":8030215,"title":"🤔 Are SPFx field customizers safe? Microsoft's mixed signals explained","slug":"microsoft-tried-to-kill-spfx-field-customizers-then-backtracked","status":"published","readingTime":6,"campaignCompletedAt":"2025-06-24T17:01:32.000Z","publishedAt":"2025-06-24T17:01:32.000Z","orderByDate":"2025-06-24T17:01:32.000Z","timeAgo":"about 1 month","thumbnailUrl":"https://embed.filekitcdn.com/e/sxVXYZfPgzAM2JBx2TvJdt/j57CXmeF3byNEYYWQJ4wjg","thumbnailAlt":"Microsoft announced the retirement SPFx field customizers in June 2026, eliminating a key extensibility option developers have relied on for nearly eight years.","path":"posts/microsoft-tried-to-kill-spfx-field-customizers-then-backtracked","url":"https://newsletter.voitanos.io/posts/microsoft-tried-to-kill-spfx-field-customizers-then-backtracked","isPaid":null,"introContent":"In today's issue: Microsoft retired SPFx field customizers! 😱 ... then un-retired them 😵💫 and more... Microsoft quietly dropped a bombshell on Friday, June 13th: SharePoint Framework field customizers will stop working on June 30, 2026. If you’ve been using field customizers to add custom business logic, interactive elements, or sophisticated functionality to your SharePoint list columns, this retirement will directly impact your solutions. Field customizers have been a cornerstone of...","campaignId":18216157,"publicationId":14769515,"metaDescription":""}],"newsletter":{"formId":4014116,"productId":null,"productUrl":null,"featuredPostId":null,"subscribersOnly":true},"isPaidSubscriber":false,"isSubscriber":false,"originUrl":"https://newsletter.voitanos.io/posts/manage-multiple-node-js-version-installs-with-nvm","creatorProfileName":"The Full Stack Dev's Microsoft 365 Playbook","creatorProfileId":1077262}Manage Multiple Node.js Version Installs with NVM
The open-source tools we use in creating Microsoft Teams apps and SharePoint Framework (SPFx) solutions are built on top of Node.js. While Microsoft 365 developers don’t necessarily need to become Node.js developers, you do need to know enough to manage your system. One challenge I see SPFx developers face time and time again is dealing with different Node versions & Node package dependency versions. One of the best decisions every SPFx developer can make is to adopt using a node version...
Andrew, a 20-year recipient of Microsoft's MVP award, scours Microsoft & community resources every week so YOU DON'T HAVE TO. Save time & stay informed - get the Microsoft 365 developers need + my insights and guidance on a trending topic. Subscribe to my bi-weekly newsletter & join 10,000+ fellow M365 developers! No clickbait · 100% free · unsubscribe anytime.
This post is free to read but only available to subscribers.
Join today to get access to all of my posts.