[ros-announce] ReactOS 0.4.12 released

Colin Finck <[email protected]> Mon, 23 Sep 2019 10:06:59 +0200
Newsgroups gmane.os.reactos.general
Message-ID <9192962f-fde3-250c-994f-e794131f92be__24754.090402142$1569227134$gmane$org@reactos.org>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============1252250126==
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="tA4MfMPJtFaKMnLFbaiuuXhzspbwfNEzW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--tA4MfMPJtFaKMnLFbaiuuXhzspbwfNEzW
Content-Type: multipart/mixed; boundary="qDvHFIowa9P1cbO4cK7eiSxkwZJtceleo";
 protected-headers="v1"
From: Colin Finck <[email protected]>
To: [email protected]
Message-ID: <[email protected]>
Subject: ReactOS 0.4.12 released

--qDvHFIowa9P1cbO4cK7eiSxkwZJtceleo
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.12.
As always a multitude of improvements have been made to all parts of the
OS, though userland components saw special emphasis this time around.

https://reactos.org/sites/default/files/imagepicker/1249/reactos_0412_1_2=
=2Epng

Kernel improvements
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Filesystem drivers require a great deal of support to function
correctly, and there is arguably no truer test of ReactOS=E2=80=99 FS
infrastructure than being able to run Microsoft=E2=80=99s own FS drivers.=
 While
the project is not quite there yet, driving towards this goal saw
considerable improvements been made. Pierre Schweitzer and Thomas Faber
paid particular attention to the common cache, a module with deep ties
to the memory manager and which traditionally has been a very
troublesome component. General stability saw marked improvement thanks
to their contributions, along with that of Herm=C3=A8s B=C3=A9lusca-Ma=C3=
=AFto in
fixing up ReactOS=E2=80=99 own CDFS driver.

More general progress can be found in Eric Kohl=E2=80=99s progression tow=
ards
proper device power management, an especially tricky feature that many
take for granted these days on Windows laptops. If only people knew just
how many steps were involved in putting a device to sleep and then
waking it up again in a working state. Then again, anyone who has ever
had to hard reboot a machine that won=E2=80=99t wake from sleep can proba=
bly
attest to the difficulty even the biggest OS vendors in the world still
grapple with.

Another feature that is certainly to be of greater interest to power
users and IT specialists, Michael Fritscher has managed to fix support
for PXE booting with ReactOS. In enterprise or industrial environments
where central management of systems is a must, the more network
functionality ReactOS provides, the more places it can find a use.

Fixed Kernel-Image-Protection
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
Security these days is a fundamental requirement of modern operating
systems, and the ability for an OS to protect its own files is the
foundations upon the rest of its security. To that end, most operating
systems will have locks to prevent any random application from going and
modifying images that are loaded and executed in the kernel space, such
as the kernel itself (ntoskrnl), various feature subsystems (win32k),
and of course general device drivers. ReactOS previously suffered from
various bugs that prevented it from correctly doing this, but the
write-protection functionality was rewritten during the run-up to
0.4.12, enabling its usage and also adding new features like execution
protection just waiting for x64 to be fully enabled.

Window snapping
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
A general usability shortcut, the ability to snap windows to be aligned
to sides or maximized and minimized by dragging it in specific
directions is something of a staple. Its lack in ReactOS meant
power-users and their muscle memory were hard put out, but with 0.4.12
this is no longer the case. Denis Malikov has implemented the necessary
support to make window snapping work, and the project invites one and
all to try it out. And needless to say, the project did not forget the
keyboard shortcuts that accompany the feature.

https://reactos.org/sites/default/files/imagepicker/1249/reactos_0412_2.p=
ng

Font improvements
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Font rendering is one of those background details that when things go
right, one barely notices. When things go wrong however, the results can
render entire suites of applications unusable. The work to make font
rendering more robust and correct in ReactOS is, like many other
features, a work in progress and joint effort between multiple
developers, with longtime contributors James Tabor, Katayama Hirofumi
MZ, and Mark Jansen playing especially active roles. Nonetheless,
several significant pieces fell into place to allow 0.4.12 to enjoy some
marked improvements over its predecessors.

The single biggest fix that went into 0.4.12 would have to be a series
of problems that badly garbled text rendering for buttons in a range of
applications, from iTunes to various .NET applications as seen in the
images below.

https://reactos.org/sites/default/files/imagepicker/1249/reactos_0412_3.p=
ng

Intel e1000 NIC driver
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
While ReactOS=E2=80=99 traditional usage in virtual machines generally sh=
ields
it from rapid and oft massive changes in hardware configurations, even
the systems emulated by virtual machines have undergone some evolution
over the years. Case in point, VirtualBox and VMware have been shifting
their default emulated network interface card to be based off of the
Intel e1000 NIC in order to present their guests with a gigabit capable
interface.

Thanks to work done by Mark Jansen and Victor Perevertkin, ReactOS now
possesses a driver that supports this NIC out of the box instead of
requiring end-users to manually find and install a driver, a finicky
process if one does not have a working network connection in the first
place. Furthermore, the new driver should also be compatible with e1000
NICs in real hardware, though of course more real-world testing will be
necessary to fully validate that assertion. Interested testers are of
course encouraged to try and see just how much ReactOS can get out of
the e1000.

New themes
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
ReactOS first gained theming support in the 0.3.x era, with the Lautus
theme being the standard bundled to demonstrate the feature. With
0.4.12, the team is pleased to announce two new themes to add to its
stable. The first is Lunar, created by Joann M=C3=B5ndresku and Adam S=C5=
=82abo=C5=84
and designed to be reminiscent of the look and feel of XP while colored
in the ReactOS style. The second is Mizu by Foxlet, which seeks to
provide a flatter design that draws from the more modern design styles
found in newer versions of Windows. A comparison of the two can be found
below. Choice is always good, after all, and now users have more of them
to find one that better suits their aesthetic tastes.

https://reactos.org/sites/default/files/imagepicker/1249/reactos_0412_4.p=
ng

User-mode DLLs
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
A range of other improvements to user-mode components within ReactOS
were made for 0.4.12, with some being more obvious than others. The most
visible of course would be, more applications work, which is arguably
the principal reason many users express interest in the project. Two
outstanding improvements also help demonstrate the sort of contrast
between the subtle and the dramatic in terms of ReactOS=E2=80=99 progress=
=2E

The common controls library (comctl) is used by basically all Windows
applications to draw various generic user interface elements. Fix
relating to it read extremely dryly and would be a list of things that
most end users would not understand. Still, the sort of plumbing it
supports is essential to the rest of the user experience, and every time
a user is able to smoothly slide through an application is a testament
to the effort put into the library by developers like Giannis
Adamopoulos, Doug Lyons, Stanislav Motylkov, and Denis Malikov.

Speaking of Stanislav, another piece of work from him that made it into
0.4.12 represents the sort of dramatic, big step forward in that it
enables an entire class of usage of the OS. MIDI devices have a long and
storied history in the indie music scene and even today people are
composing works that make use of their seemingly simplistic range. Due
to that very history, MIDI devices and the software that supports them
can be from what feels like a bygone era. ReactOS has always been about
enabling people to keep using their existing hardware and software
however, and Stanislav=E2=80=99s work now enables ReactOS to properly loa=
d the
drivers for MIDI instruments and control them, thus opening up a whole
new class of use for ReactOS.

Oh and while he was at it, he also animated the rotation bar in the
startup/shutdown dialog, just like in the NT5 family. It=E2=80=99s the li=
ttle
things that count.

Misc improvements
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
As always, it would be physically impossible to do justice to all of the
improvements and all the hard work done by the developers involved. From
updates to the on-screen keyboard (Bisoc George), fixes to the
calculator (Carlo Bramini), to quality of life improvements to the sound
mixer dialog (Eric Kohl), one could go on and on and on. A summary can
never do justice to everything that has been done, so we will have to
content ourselves with the small window that it can provide.

Testing
=3D=3D=3D=3D=3D=3D=3D
As always, ReactOS=E2=80=99 progress would be impossible without the dedi=
cation
put in by the various testers and bug reporters like Joachim Henze that
dedicate time and effort to this project, in both initially filing
issues and following up to verify that fixes actually work.

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.

* Wine-Staging 4.0 by Amine Khaldi
* btrfs v1.1 by Pierre Schweitzer
* uniata v0.47 by Thomas Faber
* ACPICA v20190405 by Thomas Faber
* libpng v1.6.35 by Thomas Faber
* mbedtls v2.7.10 by Thomas Faber
* mpg123 v1.25.10 by Thomas Faber
* libxml2 v2.9.9 by Thomas Faber
* libxslt v1.1.33 by Thomas Faber
* libtiff v4.0.10 by Thomas Faber

Statistics
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
JIRA issues fixed - 226
Number of commits - 1140
Oldest bug fixed for 0.4.12 - https://jira.reactos.org/browse/CORE-187
                   Local Dll override support in ReactOS (Mark Jansen)

releases/0.4.12 branch was forked from master on 2019-04-08 after
0.4.12-dev-1082-ge0e5363

- Press Release: https://reactos.org/project-news/reactos-0412-released
- General Notes: https://reactos.org/wiki/0.4.12
- Tests: https://reactos.org/wiki/Tests_for_0.4.12
- Changelog: https://reactos.org/wiki/ChangeLog-0.4.12
- Community Changelog: https://reactos.org/wiki/Community_Changelog-0.4.1=
2
- Download page: https://reactos.org/download


--qDvHFIowa9P1cbO4cK7eiSxkwZJtceleo--

--tA4MfMPJtFaKMnLFbaiuuXhzspbwfNEzW
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEENLXXTejc76VQ9g3AG6dOcEVroakFAl2IfScACgkQG6dOcEVr
oanMVQ//RiY6o1ADFsoksaFCsXs9NA4KrCsnL/Vy/8wFEnzBZoF30XrVobjolap8
KAiMOBY6kKfGVERO2OL1aRxbJRR8MnKQU0GCqSZED2aHC4fN9FzvtRHDsm0iDaRC
XCzheJq+kBWLq18q12RyUJUqzqd1+f22XsYR/kzyT+la0v8jYngZYBOBwZZX3Xid
zVg+Ajk0sGzPHvTAXpDU56ZGvQm08Bzy7A2vMk4YQcxsxVkhMuFN/PM8BUQRTSg+
g2KMlLrs+ma+8XoYdAu06xB6SlCyPEy+mTQVmRWRvA2COUtMMcznOYkjXWkaVDuS
n06TdGoQSTDKVvnqUgZH2DrjW7QBxTvXxtzvcW2EVFhupbI0olTlmBnexgPIiCxQ
8nxRXICFnthD/ceRfQN8uou4nwNgCDAD6Zem/yfuNSyb8a4+MXlp+yC8pZ5U2VJG
Bqik+5mWQfE5wH7trmc5A95CFE0Bk2ldjSG6xZFdexYGX0D3LRi/tD1V3+bdgtgF
GG4QuouUgPTDQzUlfX6PHWWttZtzuxUPF8ghgObAMbtVQ6F9bxkSQvuJWsMJ5sg+
T7cbzQGFQ/72TwKUXaDpWdi/Yb9RGWdhAnPFrZDqwNHlBWdGbOh3LbgVOu/B/rW5
L5+ykyLxi/qvf1ZVxZPqh2l2OGQ5QCa3qq5l1t8V0fpi19dWR0I=
=3fNF
-----END PGP SIGNATURE-----

--tA4MfMPJtFaKMnLFbaiuuXhzspbwfNEzW--


--===============1252250126==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KUm9zLWFubm91
bmNlIG1haWxpbmcgbGlzdApSb3MtYW5ub3VuY2VAcmVhY3Rvcy5vcmcKaHR0cDovL3JlYWN0b3Mu
b3JnL21haWxtYW4vbGlzdGluZm8vcm9zLWFubm91bmNl

--===============1252250126==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KUm9zLWdlbmVy
YWwgbWFpbGluZyBsaXN0ClJvcy1nZW5lcmFsQHJlYWN0b3Mub3JnCmh0dHA6Ly9yZWFjdG9zLm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL3Jvcy1nZW5lcmFs

--===============1252250126==--