Salutations from the ReactOS project team! In previous posts, we talked about the ReactOS releasing process and the development status of the project, as well as the hiring of our long-term developer Hermès Bélusca-Maïto (HBelusca). We are making an effort to publish at least 3 newsletters per year, depending on how the development workflow goes. In this newsletter we will highlight some of the contributions made by project developers and contributors, as well as future plans and headlines.
Hello ReactOS followers and enthusiasts! It has been quite a long time since we published the 101th newsletter and so far no further updates have been posted since then. While the ReactOS Twitter account does provide announcements, posts about working applications and such from time to time, much of what is happening with the project as a whole isn’t mentioned. Most of what we are going to talk about is the current situation with releases and overall ReactOS development.
Hello ReactOS followers! This report covers changes in the project during February-July 2021. And we definitely have some things to highlight! amd64 build is getting more stable Timo Kreuzer (tkreuzer) worked hard on various parts of the kernel and HAL, fixing issues here and there. Structured Exception Handling (SEH) support for the amd64 architecture was finished, various bugs around the kernel are fixed. A major issue with interrupt handling in HAL was also fixed in May, which finally allowed a semi-stable boot in a virtual environment.
Hello ReactOS followers! This is an attempt to re-instate the Newsletter, which informed you about recent developments. The previous Newsletter 99 was in 2013! This month we were mostly focused on the kernel work, merging pull requests and fixing regressions. Memory manager and Common cache work Being in development for almost six month, this work by Jérôme Gardou finally landed in the master branch. This change refactors many aspects of the Section Objects feature in NT-compatible kernel, making it more compatible with Windows.
ShellSince the last newsletter Giannis Adamopoulos has completed his development contract and while a more formal report will be published later, a brief summary follows. The fruits of his labor are already visible in that explorer_new can actually start in ReactOS and allow a user to browse the directories. Much of this was achieved by completing work Andrew Hill started. Giannis also spent considerable amounts of time trying to understand how the various menus in the shell worked.
Explorer Shell A while back the project announced a development contract for Giannis Adamopoulos to work on getting the necessary supports for running explorer-new to run on ReactOS. Since then, Giannis has been very busy and has made considerable progress. Much of his work has been properly separating responsibilities in the various components so that there are clear delineations of who does what. There are two major accomplishments, both fairly wide in scope.
C++ One of the last big missing pieces of building ReactOS using Visual Studio was support for C++. In ReactOS, the biggest piece of C++ code is explorer, without which users have no graphical shell when ReactOS boots up. Support for C++ requires not just a compiler capable of building C++ code, but also the presence of the standard template library. For developers where C++ was their first language, usage of the STL is fairly common and it is almost guaranteed to be linked in by default regardless of whether it is used or not.
Testing and Debugging The hardest thing about writing software is finding the source of bugs. Good testers are as such extremely valuable, and those able to use debuggers well even more so. Two issues were recently dealt with thanks to one such tester, Olaf Siejka. The first issue involved Microsoft Excel Viewer, an application that as its name suggests allows for viewing of spreadsheets but not editing. Word Viewer actually worked in ReactOS, and Excel Viewer's failure drew Olaf's attention.
OpenGL The ReactOS project has relied on the Mesa Project for OpenGL 3D graphics for a long time, but unfortunately the code needed by ReactOS is no longer maintained by Mesa. Actual rendering involves a chain of components, one of which is the called the installable client driver. The ICD is for the most part bundled with the graphics card driver, though it can also be a driver that performs rendering completely in software.
Site Migration The project recently migrated from its old site to one using the Drupal content management system. Work on this migration had been going on in some form for the last year, with a major milestone being the migration from Bugzilla to JIRA. The migration of the site proper however was nowhere as smooth as many people, including myself, desired. One of the root causes for the bumpy migration was my fault actually, when I sent an email claiming that the site's content was at a state where it should not be a blocker to migration.