
ReactOS 0.4.11 - One Hundred More Applications
Hello, Habr!
I am sure that you already managed to miss the news from our project! And we did not waste time in vain. The last ReactOS release came out just some three and a half months ago , and today you can already download and test the next version of our operating system. It fixed 135 bugs, made 984 changes in the source code and beautiful animation of the loading screen .
Download system images | Press Release | Changelog | TL; DR | Tests and regression list

When working on version 0.4.11, we focused on fixing application compatibility errors, and as a result, we were able to increase the number of compatible programs by a good hundred, if not more. At the same time, we once again significantly reduced the number of situations leading to BSODs and system hangs. There are many other changes, but first things first.
The first thing worth noting is that we pranked the loader. Loader (LDR) is a component that helps the application to start. In particular, it reads the manifest files for executable files and libraries, calculates the necessary modules and dependencies for the launched application, finds them on disk in the places of the intended location and loads them into memory in the correct order.

In previous versions of ReactOS, the MSVC ++ 2005/2008 libraries hid too well in the system and the loader did not always find them, especially in situations where several manifest files in a row were caught in the boot sequence. At Hackfest in BerlinIn the summer of 2018, Mark Jensen, at my request, decided to deal with this. And now with the release of 0.4.11 ugliness finally came to an end, and now not a single necessary library can “escape” from the loader. Improved support for manifests allowed ReactOS to work with about a hundred new applications, such as Blender 2.57b, Bumptop, Evernote 5.8.3, Deluge torrent and Quicktime Player 7.7.9.
A grand example of this achievement is the picture above and this screenshot:

On it you can observe the work of the popular driver pack Snappy Driver installer (SDI) in ReactOS. Previously, it crashed with an error, sometimes caused BSOD at all, or simply refused to work for the reason described above, now times have changed ...
A positive indirect effect was that daredevils no longer have to scour the net in search of drivers for ReactOS, but you can just download them all at once on one DVD.
I must make a reservation right away that not all SDI drivers will be installed properly, mainly only network cards, and some video cards. However, we will continue to work to improve this situation.
Earlier in several past ReactOS releases, testers faced significant difficulties when it came to trying to use .NET applications. Applications written on the basis of the .NET framework version 2.0 / 4.0 worked only once , and upon closing caused chaos and made the system in a berserk state cause damage to itself.
In ReactOS 0.4.11, we finally figured out and overcame the problem that caused this. The bottom line is that from the point of view of system stability, the correct application shutdown is just as important as the correct initialization sequence at startup, because when the program is stopped, the resources previously allocated to it are freed.
It turned out that the mechanism responsible for shutting down applications in ReactOS often did not expect enough time for applications to correctly complete their work on their own. This was especially true for applications built on a client – service architecture. A trivial bug fix from Janis Adamopoulos resolved this particular problem by instantly adding support for dozens, if not hundreds, of popular dotNET applications to the ReactOS arsenal.

As an example, a screenshot from nLite 1.4.9.3, a utility for the "garage" partition of Windows XP distributions.
Finally, it should be recalled that not the whole world uses the standard for displaying text from left to right like English and other Latin-based languages. Many, such as Hebrew and Arabic, use right-to-left orientation. ReactOS support for this type of text display was first officially demonstrated in release 0.4.10, but is still being refined. Significant progress has been made thanks to the efforts of Baruch Rutman to adapt the USP10 library and support code for bi-directional input from Wine to ReactOS. Of course, a lot of work remains to be done, but the nature of developing an open source project lies in applying an iterative approach, with gradual step-by-step changes.

If we talk about the fight against BSODs, it is worth recalling that Mark Jensen identified a problem with the initialization of the scroll bar , the correction of which added a whole range of applications to the library of compatible ReactOS programs. For example, we are talking about the game Civilization II Multiplayer Gold Edition (32bit) version 1.3, shown in the screenshot below, and other programs like IceChat 7.63.

The network stack was again modernized; in the process, the monitoring and enumeration of network connections functionality was added. The changes made to the TCP / IP components make it possible to use netstat, PortExpert, and other necessary network applications.

The RAM disk driver received significant corrections, which made it possible to fully install the OS over the network using the PXE protocol (previously only the option to launch LiveCD was possible ).

As the stability of ReactOS continues to grow, the breadth and depth of testing required is also increasing, if only because the number of available testing applications is growing. To this end, Joachim Hentze, with his usual methodology and perseverance, worked to ensure the right balance for this release in terms of stability and the appearance of new / improved features in it. Despite the fact that it is always tempting to make all the most important and significant changes and corrections to the release, it should be remembered that each such change entails a certain degree of risk of regressions. The ability to weigh this risk with an assessment of the likely benefits is what makes quality assurance professionals like Joachim invaluable for any project with rapidly increasing complexity.
In light of significant improvements in ReactOS and in order to help potential users better understand the current state of the OS and the degree of support for certain applications, Joachim also restructured the test results page to better present relevant information. Now you can see not only the general conclusion of the test for each application, but also details indicating what led to a specific conclusion, as well as possible “workarounds” to solve the problem here and now.
Have you suddenly wanted to install ReactOS for the first time in your life? Be sure to read this system installation manual .
Did you like this release? We look forward to your comments and opinions! Do not forget that you can help the project not only with donations , but simply by putting an asterisk on it on the github !
If you like reading my digests on how the development of the ReactOS operating system is progressing, and you want to see such publications more often, you can treat me with a cup of coffee by clicking on the button in the " Support the author " section right now under this article.
I am sure that you already managed to miss the news from our project! And we did not waste time in vain. The last ReactOS release came out just some three and a half months ago , and today you can already download and test the next version of our operating system. It fixed 135 bugs, made 984 changes in the source code and beautiful animation of the loading screen .
Download system images | Press Release | Changelog | TL; DR | Tests and regression list

When working on version 0.4.11, we focused on fixing application compatibility errors, and as a result, we were able to increase the number of compatible programs by a good hundred, if not more. At the same time, we once again significantly reduced the number of situations leading to BSODs and system hangs. There are many other changes, but first things first.
- Let's start! I said - start!
The first thing worth noting is that we pranked the loader. Loader (LDR) is a component that helps the application to start. In particular, it reads the manifest files for executable files and libraries, calculates the necessary modules and dependencies for the launched application, finds them on disk in the places of the intended location and loads them into memory in the correct order.

In previous versions of ReactOS, the MSVC ++ 2005/2008 libraries hid too well in the system and the loader did not always find them, especially in situations where several manifest files in a row were caught in the boot sequence. At Hackfest in BerlinIn the summer of 2018, Mark Jensen, at my request, decided to deal with this. And now with the release of 0.4.11 ugliness finally came to an end, and now not a single necessary library can “escape” from the loader. Improved support for manifests allowed ReactOS to work with about a hundred new applications, such as Blender 2.57b, Bumptop, Evernote 5.8.3, Deluge torrent and Quicktime Player 7.7.9.
A grand example of this achievement is the picture above and this screenshot:

On it you can observe the work of the popular driver pack Snappy Driver installer (SDI) in ReactOS. Previously, it crashed with an error, sometimes caused BSOD at all, or simply refused to work for the reason described above, now times have changed ...
A positive indirect effect was that daredevils no longer have to scour the net in search of drivers for ReactOS, but you can just download them all at once on one DVD.
I must make a reservation right away that not all SDI drivers will be installed properly, mainly only network cards, and some video cards. However, we will continue to work to improve this situation.
- So, stop ! Not only cowards need brakes ...
Earlier in several past ReactOS releases, testers faced significant difficulties when it came to trying to use .NET applications. Applications written on the basis of the .NET framework version 2.0 / 4.0 worked only once , and upon closing caused chaos and made the system in a berserk state cause damage to itself.
In ReactOS 0.4.11, we finally figured out and overcame the problem that caused this. The bottom line is that from the point of view of system stability, the correct application shutdown is just as important as the correct initialization sequence at startup, because when the program is stopped, the resources previously allocated to it are freed.
It turned out that the mechanism responsible for shutting down applications in ReactOS often did not expect enough time for applications to correctly complete their work on their own. This was especially true for applications built on a client – service architecture. A trivial bug fix from Janis Adamopoulos resolved this particular problem by instantly adding support for dozens, if not hundreds, of popular dotNET applications to the ReactOS arsenal.

As an example, a screenshot from nLite 1.4.9.3, a utility for the "garage" partition of Windows XP distributions.
Babel Babel
Finally, it should be recalled that not the whole world uses the standard for displaying text from left to right like English and other Latin-based languages. Many, such as Hebrew and Arabic, use right-to-left orientation. ReactOS support for this type of text display was first officially demonstrated in release 0.4.10, but is still being refined. Significant progress has been made thanks to the efforts of Baruch Rutman to adapt the USP10 library and support code for bi-directional input from Wine to ReactOS. Of course, a lot of work remains to be done, but the nature of developing an open source project lies in applying an iterative approach, with gradual step-by-step changes.

Improvement Buffet
If we talk about the fight against BSODs, it is worth recalling that Mark Jensen identified a problem with the initialization of the scroll bar , the correction of which added a whole range of applications to the library of compatible ReactOS programs. For example, we are talking about the game Civilization II Multiplayer Gold Edition (32bit) version 1.3, shown in the screenshot below, and other programs like IceChat 7.63.

The network stack was again modernized; in the process, the monitoring and enumeration of network connections functionality was added. The changes made to the TCP / IP components make it possible to use netstat, PortExpert, and other necessary network applications.

The RAM disk driver received significant corrections, which made it possible to fully install the OS over the network using the PXE protocol (previously only the option to launch LiveCD was possible ).

Sisyphean labor "quality department"
As the stability of ReactOS continues to grow, the breadth and depth of testing required is also increasing, if only because the number of available testing applications is growing. To this end, Joachim Hentze, with his usual methodology and perseverance, worked to ensure the right balance for this release in terms of stability and the appearance of new / improved features in it. Despite the fact that it is always tempting to make all the most important and significant changes and corrections to the release, it should be remembered that each such change entails a certain degree of risk of regressions. The ability to weigh this risk with an assessment of the likely benefits is what makes quality assurance professionals like Joachim invaluable for any project with rapidly increasing complexity.
In light of significant improvements in ReactOS and in order to help potential users better understand the current state of the OS and the degree of support for certain applications, Joachim also restructured the test results page to better present relevant information. Now you can see not only the general conclusion of the test for each application, but also details indicating what led to a specific conclusion, as well as possible “workarounds” to solve the problem here and now.
Final chord
Have you suddenly wanted to install ReactOS for the first time in your life? Be sure to read this system installation manual .
Did you like this release? We look forward to your comments and opinions! Do not forget that you can help the project not only with donations , but simply by putting an asterisk on it on the github !
If you like reading my digests on how the development of the ReactOS operating system is progressing, and you want to see such publications more often, you can treat me with a cup of coffee by clicking on the button in the " Support the author " section right now under this article.
Only registered users can participate in the survey. Please come in.
Have you already installed ReactOS at least once yourself?
- 6.8% Yes, for real iron 47
- 36.3% Yes, in the virtual machine 248
- 9.3% I watched the video on youtube, as other people do it 64
- 35.9% No, I just can't decide 245
- 11.4% No, I don’t have the right hardware or virtual machine 78