(old) In-box Dev (and Advanced Customers) Preview 7
Pre-releaseIn-Box Developer and Advanced/Technical Customer Preview 7
2026-09-09 Updated BLE transport and app for better compat.
2026-09-07 Update to Just the NuGet package. See important developer notes at the bottom.
This release is for developers and technical customers with an interest to test, file bugs, and provide feedback. There are almost certainly bugs and missing/incomplete features. Do not install anything unless you have read this entire release notes and are comfortable with what is here.
We're quickly coming up on the deadline to get fixes and features into the November release. While we continue testing and debugging here, I wanted to get this out to you now for your own development and testing. Plan is to have all of these transports and the API in Windows 11 25h2 and higher starting during the last week of November 2026.
The cutoff for getting into that release is in September, so that's what we're working towards. Any issues found after the cutoff will be fixed in subsequent Windows updates.
This release is primarily about three things:
- Bluetooth MIDI
- The new MIDI Console app (ported to C++)
- The new touch-enabled MIDI Keyboard app
Permitted Use
We want to ensure customers have the best experience going forward. Because of this, we want to ensure that these app-local binaries are not present on customer systems which have the binaries in System32. There is nothing in these binaries to enforce this, so it is entirely on you, the app or library developer, to ensure you do not distribute these files in situations where that happens.
"Binaries" here refers to the .dll, .pri and .pdb files included in the packages below, as well as any tool .exe files included.
"Product" here refers to your application, library, service, or other code you are writing against these files
| Use | Notes |
|---|---|
| Development | Your developers may use the binaries here for development and testing of future releases of a product |
| Testing | Your testing team(s) may use these binaries with your product |
| Customer Preview | You may distribute the WinRT API binaries with an alpha/beta/preview version of your app as long as that app has an enforced (through code or obvious and explicit agreement) expiration date of no later than January, 15, 2027, and you clearly indicate that this is using pre-release code which may not work in production. You are responsible for all support |
| Production / Release app | These WinRT API binaries are not permitted for this use. Do not distribute these binaries with a production application unless you have received explicit emailed permission from Pete Brown at Microsoft. |
Do not redistribute any of the installers or transports.
Breaking API Changes
There are very few here, and they are targeted.
MidiServiceTransportPluginConfigManager.EnsureConfigurationFile()added to support tools needing to save to the config file.MidiBasicLoopbackEntrynow contains a message count (this change requires a recompile if you use basic loopback entries).- Added
MidiBluetoothTimestampSourceenum andMidiBluetoothDeviceInformation.TimestampSourceproperty for reporting back to the client apps. - Endpoint Connection COM Extensions now have const correctness. This is a small breaking compile-time change for apps which compile against this again in the future. This should avoid needing to use
const_cast
Transport and App Updates
- More BLE work in the app and transport to help ensure we handle more types of devices and BLE advertising
- BLE bug fixes around timestamps. Previously this was preventing WinMM from seeing data in some cases.
- BLE, Network, and Loopback apps updated so they will create a default configuration file if none exists
- The loopback setup app now has a button to import other third-party loopbacks and create basic loopbacks from them.
MIDI Console C++ Rewrite
The MIDI Console has been completely ported from C#/.NET to C++. As a result, it uses approximately 1/4 the memory, 1/4 the CPU, and is much better at keeping up with blasted streams of midi messages during monitoring. It also doesn't require a .NET Runtime install.
Fixed Console issues:
#1171 MIDI console lags behind incoming messages when monitoring, and is slower to startup than desired
#1023 Consider allowing some basic keyboard input during console monitor for common commands
New App: Virtual Keyboard
IMPORTANT NOTE: The current virtual device bug #1047 impacts this app if you use virtual device mode, and results in a service lock up. Do not use in virtual device mode. Instead, connect it to another MIDI port. For that reason, the virtual device functionality for this app has been temporarily disabled.
Removed Apps: midifixreg and midiapimode
These functions are now in the MIDI Troubleshooting and Repair app
Registry check and fixup:
API mode:
Removed App: midimdnsinfo
This is now midi network browse in the MIDI console app
There's also a --verbose switch for additional information
Network MIDI
No changes to Network MIDI as compared to last preview (Dev Preview 6).
If you used Network MIDI prior to the Dev Preview 6, you will want to fix up your config file as the older entries are not compatible. The Network Config repair in the assets downloads will do that for you.
Basic Loopback
Basic loopback now reports message count
Bluetooth MIDI
Connection / disconnection is more robust now. It also properly handles devices which do not correctly report BLE message timestamps (like the M-VAVE devices). The app also provides more information so you usually know when a device requires pairing or has failed to connection. This is functionally complete, but if you run into any compatibility issues with devices, do let me know. There are lots of edge cases with devices which implement the specifications in .. creative ways :)
- If you are using the KORG BLE MIDI 1.0 driver, fully and completely uninstall it before trying to use BLE MIDI 1.0 devices.
- If you are using a third-party Bluetooth Bridge-type app, or an app which provides Bluetooth MIDI functionality by directly connecting to the devices, do not use it while using the in-box Bluetooth components.
Current tested device list here: #1173
Install Instructions
As in the past, these previews are not signed and require you to turn on Developer Mode in Windows Settings > System > Advanced. They also require you to accept a few SmartScreen prompts and choose "keep" so the downloads are not automatically deleted. If you use third-party anti-virus / anti-malware software, it may also delete the installs after they happen. You'll need to refer to your own software's settings.
Minimum OS version: Windows 11 25h2.
- Make sure you have read all of the information above. **Do not install anything without reading and understanding what is in this release. **
- Before installing anything, completely uninstall all previous Loopback previews, network previews, bluetooth previews, and SDK Runtime and Tools packages. Uninstall the previous developer in-box previews as well as the older release candidates. Ensure that your
Program Files\Windows MIDI Servicesdirectory is empty or missing, and delete the contents it if not. - Install the Basic Loopback, Network, and Bluetooth transport packages. The order is not important.
- Install the Tools package. Again, the order is not important.
A common question is "Will I need to uninstall these bits before the November release?". In general, yes, but other than possibly with the PowerShell cmdlets, I don't anticipate issues if you do not. Just some confusion when you have multiple versions of the same app installed. Our in-box release is expected to go out the last week of November for 25h2 and higher.
Firewall
If you are using Network MIDI 2.0, you may need to let the MIDI Service through the firewall. Additionally, you will need to let the Network MIDI 2.0 Setup app through the firewall (it will prompt on first use).
https://microsoft.github.io/MIDI/kb/network-midi-firewall/
If you are using a third-party firewall product, please refer to their instructions. Both the app and the service need access.
Packages
Windows MIDI Services itself is already installed on your PC. These packages are add-ons which preview functionality coming to Windows
These are logically broken up so you do not need to install something you don't need.
- Network install: The Network Setup app and the Network MIDI 2.0 transport
- Bluetooth install: The Bluetooth MIDI 1.0 setup app and the Bluetooth MIDI transport
- Basic Loopback: The basic loopback transport. The app, which also supports MIDI 2.0 loopbacks, is in the tools install.
- Tools install: all the other console and GUI tools including the MIDI Console, MIDI Settings, MIDI Monitor, Troubleshooting, and also the PowerShell cmdlets for MIDI. Everyone will want this. Again, please ensure you uninstall any previous SDK runtimes/tools before installing.
- NuGet package: for developers to build against in preparation for the November release.
- Samples zips: for developers
- repair-network-config.zip : for everyone using Network MIDI 2.0 who has used prior versions of it from before Dev Preview 6.
Updates
2026-09-09 Updated Bluetooth MIDI Setup app and Bluetooth MIDI transport. Supports more devices, including the PartyKeys.
2026-09-07 Update to Just the NuGet package and samples (no app changes). Changed the signature for AddMessageProcessingPlugin. It now returns an enum instead of void, and checks for whether or not COM extensions are already registered. If so, it fails with the appropriate reason, covered in the docs. Similarly, COM extension callback registration fails if there are any message processing plugins attached. Both fail if done after Open() has been called before you add the plugin or register. Registering the COM callback after Open() is an error as is adding a listener after the connection has been opened. This was a last-minute catch of an error situation which has come up multiple times from different sources in the past few days.