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

New enhancements for merchant initiated transactions with the Google Pay API

1 Share
Google has introduced enhancements to the Google Pay API to provide developers with greater flexibility and control over merchant-initiated transactions (MIT). The update includes new objects within the PaymentDataRequest to specifically handle recurring subscriptions, deferred payments like hotel bookings, and automatic account reloads. By allowing merchants to clearly define future payment terms, these changes improve transparency for users and help reduce transaction declines through better token management. Developers can now implement these features to create more seamless and secure long-term payment experiences.
Read the whole story
alvinashcraft
17 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Azure MCP tools now ship built into Visual Studio 2022 — no extension required

1 Share

Azure MCP tools now ship built into Visual Studio 2022 — no extension required

Azure MCP tools are now built into Visual Studio 2022 as part of the Azure development workload — no separate extension to find, install, or update. You can enable over 230 tools across 45 Azure services directly in GitHub Copilot Chat and manage Azure resources, deployments, and diagnostics without leaving your IDE. If you already have the Azure development workload installed, you’re one click away from getting started.

What changed

Previously, using Azure MCP tools in Visual Studio 2022 required you to install the “GitHub Copilot for Azure (VS 2022)” extension from the Visual Studio Marketplace, walk through the VSIX installer dialog, and restart Visual Studio. If something went wrong, you had to uninstall and reinstall the extension entirely. That friction added up.

Starting now, Azure MCP tools ship as part of the Azure development workload in Visual Studio 2022. There’s no separate extension to manage. When you install or already have the Azure development workload, the Azure MCP Server is available directly in GitHub Copilot Chat. You enable it once, and it stays enabled across sessions.

This change means fewer installation steps, no version mismatches between the extension and the IDE, and a single update path through the Visual Studio Installer. The Azure MCP Server version gets updated with regular Visual Studio releases, so you always receive the latest tools as part of your normal update cycle.

Note: VS-specific tools available in Visual Studio 2026 are not included in Visual Studio 2022.

What you get

The Azure MCP Server surfaces over 230 tools across 45 Azure services through GitHub Copilot Chat. These tools interact with various Azure services to support developers across the entire development lifecycle. Key scenarios include:

  • Learn — Ask questions about Azure services, best practices, and architecture patterns.
  • Design & develop — Get recommendations for Azure services and configure your application code.
  • Deploy — Provision resources and deploy your application directly from the IDE.
  • Troubleshoot — Query logs, check resource health, and diagnose issues in production.

The tools appear in all tools mode within GitHub Copilot Chat. You pick which tools to enable, and Copilot calls them automatically when your prompts relate to Azure.

See it in action

Here are a few examples that show how you can use the Azure MCP tools directly from GitHub Copilot Chat in Visual Studio 2022. Each prompt triggers one or more Azure MCP tool calls behind the scenes.

Explore your Azure resources

List my storage accounts in my current subscription.

Copilot calls the Azure MCP tools to query your subscriptions and storage accounts, then returns a list of your storage accounts with their names, locations, and SKUs — right in the chat window. No portal tab needed.

Deploy your app

Deploy my ASP.NET Core app to Azure.

Copilot identifies your project, walks you through creating an App Service resource, and initiates the deployment via azd. You can track progress directly in the chat output.

Diagnose issues

Help diagnose my App Service resource.

Copilot uses AppLens and resource health tools to analyze your App Service, check for availability issues, and surface actionable recommendations — all without leaving the IDE.

Query your logs

Query my Log Analytics workspace for exceptions.

Copilot generates and runs a KQL query against your Log Analytics workspace, returning recent exceptions with timestamps, messages, and stack traces. You can refine the query in follow-up prompts to narrow down the root cause.

These are just a few examples. With over 230 tools across 45 Azure services, you can learn about Azure features, provision resources, deploy applications, and troubleshoot issues — all from a single chat window in Visual Studio 2022.

How to enable Azure MCP tools

The Azure MCP tools ship with the Azure development workload in Visual Studio 2022 version 17.14.30 or higher, but are disabled by default. Follow these steps to enable them:

  1. Update Visual Studio 2022 — Open the Visual Studio Installer and make sure you’re running version 17.14.30 or higher. If not, select Update.
  2. Install the Azure development workload — In the Visual Studio Installer, select Modify for your Visual Studio 2022 installation and check the Azure development workload. Select Modify again to apply.
  3. Launch Visual Studio 2022 — Open or create a project, then open GitHub Copilot Chat.
  4. Sign in — Make sure you’re signed in to both your GitHub account (for Copilot) and your Azure account (for resource access).
  5. Enable the Azure MCP Server — In the Copilot Chat window, select the Select tools button (the two wrenches icon). Find Azure MCP Server in the list and toggle it on.

visual studio 2022 enable tools image

Once enabled, the Azure MCP tools are available in every Copilot Chat session. You don’t need to re-enable them after restarting Visual Studio 2022.

Things to know

Keep these details in mind:

  • Azure MCP tools are disabled by default — you need to enable them manually in the Select tools dialog.
  • Tools specific to Visual Studio 2026 are not available in Visual Studio 2022.
  • Tool availability depends on your Azure subscription permissions — if you can’t perform an action in the Azure portal, you can’t perform it through MCP tools either.
  • This feature requires an active GitHub Copilot subscription and an Azure account.
  • The Azure MCP Server version is updated with regular Visual Studio releases.

Learn more

Share your feedback through Help > Send Feedback in Visual Studio 2022 or file issues on the Azure MCP Server GitHub repository.

The post Azure MCP tools now ship built into Visual Studio 2022 — no extension required appeared first on Visual Studio Blog.

Read the whole story
alvinashcraft
36 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Why is there a long delay between a thread exiting and the Wait­For­Single­Object returning?

1 Share

A customer reported that they were using the Wait­For­Single­Object function to wait for a thread to exit, but they found that even though the thread had exited, the Wait­For­Single­Object call did not return for over a minute. What could explain this delay in reporting the end of a thread? Can we do something to speed it up?

My psychic powers tell me that the thread didn’t actually exit.

What the customer is observing is probably that their thread procedure has returned, signaling the end of the thread. But a lot of stuff happens after the thread procedure exits. The system needs to send DLL_THREAD_DETACH notifications to all of the DLLs (unless the DLL has opted out via Disable­Thread­Library­Calls), and doing so requires the loader lock.

I would use the debugger to look for the thread you thought had exited and see what it’s doing. It might be blocked waiting for the loader lock because some other thread is hogging it. Or it could be running a DLL’s detach code, and that detach code has gotten stuck on a long-running operation.

I suspect it’s the latter: One of the DLLs is waiting for something in its detach code, and that something takes about a minute.

We didn’t hear back from the customer, which could mean that this was indeed the problem. Or it could mean that this didn’t help, but they decided that we weren’t being helpful and didn’t pursue the matter further. Unfortunately, in a lot of these customer debugging engagements, we never hear back whether our theory worked. (Another possibility is that the customer wrote back with a “thank you”, but the customer liaison didn’t forward it to the engineering team because they didn’t want to bother them any further.)

The post Why is there a long delay between a thread exiting and the <CODE>Wait­For­Single­Object</CODE> returning? appeared first on The Old New Thing.

Read the whole story
alvinashcraft
41 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Modernizing Applications with GAP

1 Share
From: Fritz's Tech Tips and Chatter
Duration: 0:00
Views: 0

🎙️ New to streaming or looking to level up? Check out StreamYard and get $10 discount! 😍 https://streamyard.com/pal/d/6565778542821376

Read the whole story
alvinashcraft
53 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Boosting user privacy and business protection with updated Play policies

1 Share
Posted by Bennet Manuel, Group Product Manager, App & Ecosystem Trust


We strive to make Google Play the safest and most trusted experience possible. Today, we’re announcing a new set of policy updates and an account transfer feature to boost user privacy and protect your business from fraud. By providing better features for users and easy-to-integrate tools for you, we’re making it simpler to build safer apps so you can focus on creating great experiences.

We’re also expanding our features to help you manage new contact and location policy changes, so you have a smoother, more predictable app review experience. By October, Play policy insights in Android Studio can help you proactively identify if your app should use these new features and guide you on the exact steps to take. Additionally, new pre-review checks in the Play Console will be available starting October 27 to flag potential contacts or location permissions policy issues so you can fix them before you submit your app for review.

Here is what is new and how you can prepare.

Contact Picker: A privacy-friendly way to access contacts



Android is introducing the Android Contact Picker as the new standard for accessing contact information (e.g., for invites, sharing, or one-time lookups). This picker lets users share only the specific contacts they want to, helping build trust and protect privacy. Alongside this tool, we are updating our policy to require that all applicable apps use the picker, or other privacy-focused alternatives like Sharesheet, as the primary way to access users’ contacts. READ_CONTACTS will be reserved for apps that can’t function without it.

What you’ll need to do

  • If your app asks for access to contacts for features like sharing or inviting, you should update your code to use the picker and remove the READ_CONTACTS permission entirely (if targeting Android 17 and above).
  • If your app requires full, ongoing access to a user’s contact list to function, you must justify this need by submitting a Play Developer Declaration in the Play Console. This form will be available before October.

Location button: More privacy-friendly way to access location



Android is introducing a new, streamlined location button to make requesting precise data easier for one-time actions, like finding a store or tagging a photo. This feature replaces complex permission dialogs with a single tap, helping users make clearer choices about how much information they share and for how long. We’re updating our policy to require apps to use this button for one-time precise location access unless they require persistent, always-on location access. This creates a faster, more predictable experience for your users and reduces the friction of traditional permission requests.

What you’ll need to do

  • Review your app's location usage to ensure you are requesting the minimum amount of location data needed for your app to work.
  • If your app targets Android 17 and above and uses precise location for discrete, temporary actions, implement the location button by adding the onlyForLocationButton flag in your manifest.
  • If your app requires persistent precise location to function, you will need to submit a Play Developer Declaration in Play Console to show why the new button or coarse location isn’t sufficient for your app’s core features. This form will be available before October.

Account Transfer: Protecting your business

You asked for a secure way to transfer app ownership during business changes, and we listened. We’re launching an official account transfer feature directly in Play Console that’s designed to help you easily transfer ownership during sales and mergers while also protecting your business from fraud. Starting May 27, account ownership changes must use this official feature. That means that unofficial transfers (like sharing login credentials or buying and selling accounts on third-party marketplaces) which leave your business vulnerable are not permitted.

What you’ll need to do

  • Initiate any future account owner changes through the "Users and permissions" page in Play Console.
  • Every transfer will include a mandatory 7-day security cool-down period. This gives your team time to spot and cancel any unauthorized attempts to take over your account. See Transferring ownership of a Play Console developer account for more guidance.

What’s next

We want to give you plenty of time to review these changes and update your apps. For more information, deadlines, and the full list of Google Play policy updates we’re announcing today, please visit the Policy Announcements page.

Thank you for your partnership in keeping Play safe for everyone.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Gemini 3.1 Flash TTS

1 Share

Gemini 3.1 Flash TTS

Google released Gemini 3.1 Flash TTS today, a new text-to-speech model that can be directed using prompts.

It's presented via the standard Gemini API using gemini-3.1-flash-tts-preview as the model ID, but can only output audio files.

The prompting guide is surprising, to say the least. Here's their example prompt to generate just a few short sentences of audio:

# AUDIO PROFILE: Jaz R.
## "The Morning Hype"

## THE SCENE: The London Studio
It is 10:00 PM in a glass-walled studio overlooking the moonlit London skyline, but inside, it is blindingly bright. The red "ON AIR" tally light is blazing. Jaz is standing up, not sitting, bouncing on the balls of their heels to the rhythm of a thumping backing track. Their hands fly across the faders on a massive mixing desk. It is a chaotic, caffeine-fueled cockpit designed to wake up an entire nation.

### DIRECTOR'S NOTES
Style:
* The "Vocal Smile": You must hear the grin in the audio. The soft palate is always raised to keep the tone bright, sunny, and explicitly inviting.
* Dynamics: High projection without shouting. Punchy consonants and elongated vowels on excitement words (e.g., "Beauuutiful morning").

Pace: Speaks at an energetic pace, keeping up with the fast music.  Speaks with A "bouncing" cadence. High-speed delivery with fluid transitions — no dead air, no gaps.

Accent: Jaz is from Brixton, London

### SAMPLE CONTEXT
Jaz is the industry standard for Top 40 radio, high-octane event promos, or any script that requires a charismatic Estuary accent and 11/10 infectious energy.

#### TRANSCRIPT
[excitedly] Yes, massive vibes in the studio! You are locked in and it is absolutely popping off in London right now. If you're stuck on the tube, or just sat there pretending to work... stop it. Seriously, I see you.
[shouting] Turn this up! We've got the project roadmap landing in three, two... let's go!

Here's what I got using that example prompt:

Then I modified it to say "Jaz is from Newcastle" and "... requires a charismatic Newcastle accent" and got this result:

I had Gemini 3.1 Pro vibe code this UI for trying it out:

Screenshot of a "Gemini 3.1 Flash TTS" web application interface. At the top is an "API Key" field with a masked password. Below is a "TTS Mode" section with a dropdown set to "Multi-Speaker (Conversation)". "Speaker 1 Name" is set to "Joe" with "Speaker 1 Voice" set to "Puck (Upbeat)". "Speaker 2 Name" is set to "Jane" with "Speaker 2 Voice" set to "Kore (Firm)". Under "Script / Prompt" is a tip reading "Tip: Format your text as a script using the Exact Speaker Names defined above." The script text area contains "TTS the following conversation between Joe and Jane:\n\nJoe: How's it going today Jane?\nJane: [yawn] Not too bad, how about you?" A blue "Generate Audio" button is below. At the bottom is a "Success!" message with an audio player showing 00:00 / 00:06 and a "Download WAV" link.

Tags: google, text-to-speech, tools, ai, prompt-engineering, generative-ai, llms, gemini, llm-release, vibe-coding

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories