Some of you may not be aware that the MIDI Manufacturer's Association (MMA), who is in charge of managing the MIDI specification, has finally ratified the long-awaited update to MIDI. The initial specification, called MIDI 1.0 was adopted in 1985. The new update is called MIDI 2.0.
Tashi... Tasch... Itchy has started (and completed some, but not all of) ALSA's MIDI 2.0 implementation. Without getting into details about the differences betwee 1.0 and 2.0 (I've got a lot of studying to do myself), the differences are dramatic enough to necessitate updates to alsa drivers, and no doubt data structures used internally by alsa.
The alsa library that application code is supposed to use should protect existing MIDI programs from breaking due to the alsa updates. (ie, Those programs will continue to use MIDI 1.0 without problems. Of course, those programs will need to be updated if they are going to use MIDI 2.0's new features). It is the dictate of Linux Torvalds that updates to the operating system should not break apps.... as long as those apps use "the official way to interact with the OS". But apps that bypass the OS are fair game to break.
Jack2 bypasses alsa's official "API". It directly interacts with audio drivers (without alsa's involvement). And it creates and modifies internal data structures that no app is supposed to ever touch. Because of this, there's a real possibility that jack2's MIDI features (and any emulation based upon it -- Pipewire?) will break when the new alsa update arrives. (Could be in the next linux final release).
This is a heads-up. If your MIDI software no longer works as soon as you update your kernel, this is a possible cause that you should definitely consider. Also, consider this a warning that, making a backup prior to updating your system, is a good idea for the next alsa update. The MIDI part of alsa is undergoing a complex update.
What are just a few of MIDI 2.0's features? For one thing, the 16 channel limit per MIDI port/vst is raised to 255 channels. MIDI 2.0 also increases bandwidth significantly, so latency and jitter can be expected to be lower. Midi devices can communicate their patches by name, not just numbers. So for example, there will be no need to make any "nam" files that tell an app the patch name for each number. An app will be able to directly ask any MIDI device for that information.