ReactOS 0.4.11 released
Colin Finck <[email protected]> Mon, 4 Mar 2019 11:59:33 +0100
| Newsgroups | gmane.os.reactos.announce |
|---|---|
| Message-ID | <e52b41ba-5c1e-fa03-edc8-14e18562a0a0__39682.7263104328$1551698602$gmane$org@reactos.org> |
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --===============1964761916== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="hT9mNzvOQWxCSCqvPrekXrOuS7FKCAqqc" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --hT9mNzvOQWxCSCqvPrekXrOuS7FKCAqqc Content-Type: multipart/mixed; boundary="0Hq5PHkvO1uWeieYFicf7WWXwuYsYKxM2"; protected-headers="v1" From: Colin Finck <[email protected]> Reply-To: [email protected] To: [email protected] Message-ID: <[email protected]> Subject: ReactOS 0.4.11 released --0Hq5PHkvO1uWeieYFicf7WWXwuYsYKxM2 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable The ReactOS team is pleased to announce the release of version 0.4.11. This version has seen substantial work done to the kernel, helping improve overall system stability. Kernel Improvements =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D While the term kernel is used as a sort of catch-all term, in truth the range of functionality that it encapsulates is quite wide. One case in point is the kernel=E2=80=99s responsibility for managing file I/O. A mis= take here can cause subtle data corruption to more obvious hard crashes. Pierre Schweitzer=E2=80=99s fixes to the cache controller=E2=80=99s manag= ement of its data structures has removed at least one source of blue screens that occurred when attempting to backup a disk=E2=80=99s partition using the O= DIN backup software. Storage improvements were something of a theme in kernel improvements this time around, as work was also done on the filesystems ReactOS supports. While the fastfat driver is an inhouse filesystem driver, ReactOS has always relied on a third party driver for BTRFS support. This reliance however feeds back, as problems ReactOS discover in our usage of the driver can be sent back upstream to help improve it further. Such was the case with a major memory leak problem that Thomas Faber was able to track down. And speaking of storage, the very interfaces that allows operating systems to talk with storage devices has undergone considerable change since the good old days of IDE and parallel connectors. These days most computers make use of SATA connections and the corresponding AHCI interface, support for which ReactOS relies upon the UniATA driver for. When the 6th generation of Intel=E2=80=99s Core processors (Skylake) was released, it was accompanied by a chipset platform whose AHCI SATA controllers proved incompatible with UniATA. This incompatibility has now been resolved by Alexander Telyatnikov, allowing users wishing to test ReactOS on more modern platforms to better make use of those platforms=E2=80=99 capabilities. Application Start/Stop =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D When an application is run, it often depends upon other libraries in the form of DLLs. The loader (LDR) is responsible for finding and loading the respective dependent DLLs, and correctly iterating over these dependencies is fundamental to getting anything to run. One manner of specifying these dependencies is with the use of something called manifests, which was not properly supported in ReactOS. Considering that many modern applications make use of manifests, this was a very glaring hole. Mark Jansen=E2=80=99s work in the runup to 0.4.11 has however added= sufficient support for manifests that the range of applications now able to start in ReactOS has significantly widened. Some examples of the newly enabled applications include Blender 2.57b, shown in the screenshot below, Bumptop, Evernote 5.8.3, Quicktime Player 7.7.9, and many others that users have the opportunity to discover for themselves. https://reactos.org/sites/default/files/imagepicker/1249/reactos_0411_1.p= ng Blender 2.57b running within ReactOS Stopping an application correctly is often just as important from a system stability perspective, as it is when a program is stopped that its previously allocated resources are freed up. For a long time ReactOS had particular difficulty when it came to dealing with the shutdown sequence for .NET 2.0 applications, often times not waiting long enough for these applications to properly exit. Work by Giannis Adamopoulos has however resolved this particular problem, adding further to ReactOS=E2=80= =99 usefulness as a platform to run Windows compatible applications. USETUP Improvements =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D While the community wishlist for quality of life improvements in ReactOS is quite lengthy, one especially longstanding one has been the ability to upgrade an existing installation of ReactOS. Achieving this has required substantial effort in the USETUP module, effort that Herm=C3=A8s= B=C3=A9lusca-Ma=C3=AFto put considerable time into. The importance of thi= s is twofold. The obvious enhancement is the ability to perform the upgrade, but the more substantive point is what this functionality entails for the future. For ReactOS to be usable as an actual system OS, it needs the ability to update in-place without losing user data and configuration. While requiring the user to go through the system installation process is still far from the user friendliness of other modern operating systems, it is still a substantial step forward and lays the foundation for ReactOS=E2=80=99 maturation into an everyday driv= er of people=E2=80=99s computers. https://reactos.org/sites/default/files/imagepicker/1249/reactos_0411_2.p= ng Screenshot of the ReactOS text mode setup with upgrade option Win32 =3D=3D=3D=3D=3D The Win32 subsystem responsible for graphical rendering in ReactOS is by itself a substantial beast. Improvements here often tend towards the most user visible of changes, since it is the engine through which the user will most interact with the operating system. Those familiar with the NT family=E2=80=99s basic design will recall that= prior to the NT6 line that began with Windows Vista, there was a substantial block of functionality implemented inside the kernel space of the operating system. This block is commonly referred to as win32k, and because of its wide ranging kernel level privileges, problems within win32k can hard crash the entire system. Even something as seemingly basic as menus is reliant on functionality inside win32k, and fixing that related functionality was the focus of much effort by several developers. Basic robustness was the emphasis Thomas Faber focused on, running the menu code through a torture test that would see constant switching between different windows to make sure no resources or the like leaked across the different processes. One must recall that while in user mode applications are partitioned off, in kernel mode resources are effectively in a single space and the appropriate bookkeeping must be maintained to avoid crashes. Speaking of crashes, Mark Jansen also identified a problem with scrollbar initialization whose resolution has added yet another range of applications into ReactOS=E2=80=99 library of compatible programs. Case in point is the 32bit Civilization II Multiplayer Gold Edition version 1.3, as demonstrated in the screenshot below, and others like IceChat 7.63. https://reactos.org/sites/default/files/imagepicker/1249/reactos_0411_3.p= ng Screenshot of Civilization II Multiplayer Gold Edition 1.3 running on ReactOS The visual correctness of menu elements is also important, as misaligned elements can produce graphically jarring displays. As such while subtle, Katayama Hirofumi=E2=80=99s correction of the y-coordinate calculation fo= r menu items adds a touch of detail that is the difference between a polished graphical experience and one that is just good enough. Menus can also extend to more than just the menu bar we often see at the top of applications. There are also pop-up menus like when one right-clicks on an item, as in the case of icons in the taskbar=E2=80=99s= system tray. Mark was again responsible for this fix, which resolved the issue of incorrectly selected options when one tried to use the systray. Users can be thankful that one more source of frustration has now been squashed= =2E Finally, one must recall that not the entire world uses the left-to-right display standard to English and other Latin based languages. Many, such as Hebrew and Arabic, use a right-to-left orientation. ReactOS=E2=80=99 support for this type of text rendering was= first officially exposed in 0.4.10, but the effort remains a work in progress. That progress took a substantive leap with work done by Baruch Rutman to adapt the USP10 library and Bidirectional support code from Wine to ReactOS. More work of course remains to be done, but it is the nature of open source development to take an iterative approach, building improvements one upon another. https://reactos.org/sites/default/files/imagepicker/1249/reactos_0411_4.p= ng Bidirectional text support in ReactOS Networking =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D While end user improvements are often the most visible, quality of life improvements for power users, administrators, and developers have a certain multiplicative effect as well. To that end, the enablement of various network debugging and diagnosis programs by Pierre=E2=80=99s work= in TCP and UDP connection enumeration is important in a more subtle way. While debugging network applications is a far from common use case for the average user, it is a crucial ability for people that work in IT or general software development. In this manner ReactOS is becoming useful as not just a platform for running applications, but also to debug them. And as history has shown, the ease of development and administration is a key feature in adoption by the wider tech industry. https://reactos.org/sites/default/files/imagepicker/1249/reactos_0411_5.j= pg Observing the network connections via the netstat tool while running mIRC= Stability and Testing =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D As ReactOS continues to grow in stability and maturity, the breadth and depth of testing necessary also increases, if only because there are more candidate applications to test. To this end Joachim Henze has with his usual dedication and perseverance worked to ensure the right balance was struck for this release in terms of stability and new/improved features. While it is always tempting to bring forward changes and fixes in the latest and greatest, one must recall that every such change brings with it a certain degree of risk. The ability to weigh that risk with the likely benefits is what makes quality assurance personnel like Joachim invaluable to any fast moving project. In light of ReactOS=E2=80=99 expansive improvements, and to help prospect= ive users better understand the state of the OS and its supported applications, Joachim has also restructured the test results page to better encapsulate the relevant information. There one can now see not only the overall conclusion of the test, but also details such as track what drove a particular conclusion as well as any workarounds that they might themselves attempt. A marked step forward from the binary of works/fails, since a workaround suggests at least a starting point for a permanent solution to be found. Third Party Syncs =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The current third party sources that ReactOS syncs with have been brought to the following versions by their respective minders. * ACPICA version 20181003, by Thomas Faber * PCI hardware ID database 2018-11-21, by Herm=C3=A8s B=C3=A9lusca-Ma=C3=AF= to * Wine Staging 3.17, by Amine Khaldi Statistics =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D JIRA Issues fixed (this includes both bugs and improvements) - 135 Number of commits - 984 The oldest bug fixed for 0.4.11 - https://jira.reactos.org/browse/CORE-35= 79 0.4.11-release branch was forked from master on 2018-12-09 after 0.4.11-dev-948-gde7c959 - Press Release: https://reactos.org/project-news/reactos-0411-released - General Notes: https://reactos.org/wiki/0.4.11 - Tests: https://reactos.org/wiki/Tests_for_0.4.11 - Changelog: https://reactos.org/wiki/ChangeLog-0.4.11 - Community Changelog: https://reactos.org/wiki/Community_Changelog-0.4.1= 1 - Download page: https://reactos.org/download --0Hq5PHkvO1uWeieYFicf7WWXwuYsYKxM2-- --hT9mNzvOQWxCSCqvPrekXrOuS7FKCAqqc Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEENLXXTejc76VQ9g3AG6dOcEVroakFAlx9BRkACgkQG6dOcEVr oamB5A//fGMEq4rspzVeDG2KrTnsCHcAHv6p67QwMmf9cdAdvG5z0ydW8rmRexXJ pFkQbL4fyQdsPD4Ezw1yziUBzHbCWIXDilf1aoijPjSKfAiJ5YFIVB75oLanqmDw CoRLoFGx/Dr6Xz6jWVSZyIJe327rYBbWpURN+hVaQJXED+Pgh4GW0JsceAzHv1VW ZmrP1QlOw8QMucVDZ8TGxUG0i5+wtP6Zyg2/moJ/imthF1dLCpO191TlmEp4Nksl eMf61EH6pnHhga4bWe/X4P/khxbhaaSJ24xqSQCCE+1hw7S+Xq26yNd2wC3mgcs4 Ulh0lEr+DefUOmvJjKdTBYua56iLcaQaMPGx9QeF0v0WeS9xS8keqqUYjd55nta8 K6nfW+wDbplpIHexnhCMzp37m1TyeRtAHl4uU2pf9BPMnejsjs/3UO6NBkz1IcIi eabPZrdO4yQklWGHRvjVItVofyXg7VAWxtD/lzvTrqia3TlOcPvCmEQQny9ESGEN jG1V3L+yc7cJhSKxVveQrONeWg0aALxPbxIVnqJ+5ivhDLEopCSEmI2wMY3ePRN/ 5PDMBuXFXFv6yFQrzAf6v7mn9YJyfHUiUFmuCP42hhtoOEb+mnpzuuGZwtoZhlqo aWRJbDJBnhksczSkXaAV0sGRom2Cka/btuBYZPB3+9wzfZhQYV4= =o9Pi -----END PGP SIGNATURE----- --hT9mNzvOQWxCSCqvPrekXrOuS7FKCAqqc-- --===============1964761916== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KUm9zLWFubm91 bmNlIG1haWxpbmcgbGlzdApSb3MtYW5ub3VuY2VAcmVhY3Rvcy5vcmcKaHR0cDovL3JlYWN0b3Mu b3JnL21haWxtYW4vbGlzdGluZm8vcm9zLWFubm91bmNl --===============1964761916==--